YES 5.442 H-Termination proof of /home/matraf/haskell/eval_FullyBlown_Fast/empty.hs
H-Termination of the given Haskell-Program with start terms could successfully be proven:



HASKELL
  ↳ CR

mainModule Main
  ((compare :: Ord a => a  ->  a  ->  Ordering) :: Ord a => a  ->  a  ->  Ordering)

module Main where
  import qualified Prelude



Case Reductions:
The following Case expression
case compare x y of
 EQ → o
 LT → LT
 GT → GT

is transformed to
primCompAux0 o EQ = o
primCompAux0 o LT = LT
primCompAux0 o GT = GT



↳ HASKELL
  ↳ CR
HASKELL
      ↳ IFR

mainModule Main
  ((compare :: Ord a => a  ->  a  ->  Ordering) :: Ord a => a  ->  a  ->  Ordering)

module Main where
  import qualified Prelude



If Reductions:
The following If expression
if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero

is transformed to
primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y))
primDivNatS0 x y False = Zero

The following If expression
if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x

is transformed to
primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y)
primModNatS0 x y False = Succ x



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
HASKELL
          ↳ BR

mainModule Main
  ((compare :: Ord a => a  ->  a  ->  Ordering) :: Ord a => a  ->  a  ->  Ordering)

module Main where
  import qualified Prelude



Replaced joker patterns by fresh variables and removed binding patterns.

↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
HASKELL
              ↳ COR

mainModule Main
  ((compare :: Ord a => a  ->  a  ->  Ordering) :: Ord a => a  ->  a  ->  Ordering)

module Main where
  import qualified Prelude



Cond Reductions:
The following Function with conditions
compare x y
 | x == y
 = EQ
 | x <= y
 = LT
 | otherwise
 = GT

is transformed to
compare x y = compare3 x y

compare1 x y True = LT
compare1 x y False = compare0 x y otherwise

compare2 x y True = EQ
compare2 x y False = compare1 x y (x <= y)

compare0 x y True = GT

compare3 x y = compare2 x y (x == y)

The following Function with conditions
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd' x zx = gcd'2 x zx
gcd' x y = gcd'0 x y

gcd'0 x y = gcd' y (x `rem` y)

gcd'1 True x zx = x
gcd'1 zy zz vuu = gcd'0 zz vuu

gcd'2 x zx = gcd'1 (zx == 0) x zx
gcd'2 vuv vuw = gcd'0 vuv vuw

The following Function with conditions
gcd 0 0 = error []
gcd x y = 
gcd' (abs x) (abs y)
where 
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd vux vuy = gcd3 vux vuy
gcd x y = gcd0 x y

gcd0 x y = 
gcd' (abs x) (abs y)
where 
gcd' x zx = gcd'2 x zx
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x zx = x
gcd'1 zy zz vuu = gcd'0 zz vuu
gcd'2 x zx = gcd'1 (zx == 0) x zx
gcd'2 vuv vuw = gcd'0 vuv vuw

gcd1 True vux vuy = error []
gcd1 vuz vvu vvv = gcd0 vvu vvv

gcd2 True vux vuy = gcd1 (vuy == 0) vux vuy
gcd2 vvw vvx vvy = gcd0 vvx vvy

gcd3 vux vuy = gcd2 (vux == 0) vux vuy
gcd3 vvz vwu = gcd0 vvz vwu

The following Function with conditions
absReal x
 | x >= 0
 = x
 | otherwise
 = `negate` x

is transformed to
absReal x = absReal2 x

absReal1 x True = x
absReal1 x False = absReal0 x otherwise

absReal0 x True = `negate` x

absReal2 x = absReal1 x (x >= 0)

The following Function with conditions
undefined 
 | False
 = undefined

is transformed to
undefined  = undefined1

undefined0 True = undefined

undefined1  = undefined0 False

The following Function with conditions
reduce x y
 | y == 0
 = error []
 | otherwise
 = x `quot` d :% (y `quot` d)
where 
d  = gcd x y

is transformed to
reduce x y = reduce2 x y

reduce2 x y = 
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
HASKELL
                  ↳ LetRed

mainModule Main
  ((compare :: Ord a => a  ->  a  ->  Ordering) :: Ord a => a  ->  a  ->  Ordering)

module Main where
  import qualified Prelude



Let/Where Reductions:
The bindings of the following Let/Where expression
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise

are unpacked to the following functions on top level
reduce2Reduce0 vwv vww x y True = x `quot` reduce2D vwv vww :% (y `quot` reduce2D vwv vww)

reduce2D vwv vww = gcd vwv vww

reduce2Reduce1 vwv vww x y True = error []
reduce2Reduce1 vwv vww x y False = reduce2Reduce0 vwv vww x y otherwise

The bindings of the following Let/Where expression
gcd' (abs x) (abs y)
where 
gcd' x zx = gcd'2 x zx
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x zx = x
gcd'1 zy zz vuu = gcd'0 zz vuu
gcd'2 x zx = gcd'1 (zx == 0) x zx
gcd'2 vuv vuw = gcd'0 vuv vuw

are unpacked to the following functions on top level
gcd0Gcd' x zx = gcd0Gcd'2 x zx
gcd0Gcd' x y = gcd0Gcd'0 x y

gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y)

gcd0Gcd'2 x zx = gcd0Gcd'1 (zx == 0) x zx
gcd0Gcd'2 vuv vuw = gcd0Gcd'0 vuv vuw

gcd0Gcd'1 True x zx = x
gcd0Gcd'1 zy zz vuu = gcd0Gcd'0 zz vuu



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
HASKELL
                      ↳ NumRed

mainModule Main
  ((compare :: Ord a => a  ->  a  ->  Ordering) :: Ord a => a  ->  a  ->  Ordering)

module Main where
  import qualified Prelude



Num Reduction: All numbers are transformed to thier corresponding representation with Pos, Neg, Succ and Zero.

↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
HASKELL
                          ↳ Narrow

mainModule Main
  (compare :: Ord a => a  ->  a  ->  Ordering)

module Main where
  import qualified Prelude



Haskell To QDPs


↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primEqNat(Succ(vwx3000), Succ(vwx4000)) → new_primEqNat(vwx3000, vwx4000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primPlusNat(Succ(vwx15900), Succ(vwx31000)) → new_primPlusNat(vwx15900, vwx31000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
                              ↳ QDP
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primMulNat(Succ(vwx4000), Succ(vwx3100)) → new_primMulNat(vwx4000, Succ(vwx3100))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_esEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), baf, app(app(app(ty_@3, bbb), bbc), bbd)) → new_esEs1(vwx301, vwx401, bbb, bbc, bbd)
new_esEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, app(app(ty_@2, hb), hc), gd) → new_esEs2(vwx301, vwx401, hb, hc)
new_esEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, app(ty_Maybe, gc), gd) → new_esEs(vwx301, vwx401, gc)
new_esEs0(Right(vwx300), Right(vwx400), de, app(app(ty_@2, ed), ee)) → new_esEs2(vwx300, vwx400, ed, ee)
new_esEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, app(app(app(ty_@3, gg), gh), ha), gd) → new_esEs1(vwx301, vwx401, gg, gh, ha)
new_esEs3(:(vwx300, vwx301), :(vwx400, vwx401), app(ty_[], bec)) → new_esEs3(vwx300, vwx400, bec)
new_esEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), baf, app(app(ty_@2, bbe), bbf)) → new_esEs2(vwx301, vwx401, bbe, bbf)
new_esEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), baf, app(ty_Maybe, bag)) → new_esEs(vwx301, vwx401, bag)
new_esEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, eh, app(ty_[], gb)) → new_esEs3(vwx302, vwx402, gb)
new_esEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), app(ty_Maybe, bbh), bca) → new_esEs(vwx300, vwx400, bbh)
new_esEs(Just(vwx300), Just(vwx400), app(ty_[], ca)) → new_esEs3(vwx300, vwx400, ca)
new_esEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, eh, app(app(app(ty_@3, fd), ff), fg)) → new_esEs1(vwx302, vwx402, fd, ff, fg)
new_esEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), app(app(ty_@2, bcg), bch), bca) → new_esEs2(vwx300, vwx400, bcg, bch)
new_esEs(Just(vwx300), Just(vwx400), app(ty_Maybe, ba)) → new_esEs(vwx300, vwx400, ba)
new_esEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), baf, app(app(ty_Either, bah), bba)) → new_esEs0(vwx301, vwx401, bah, bba)
new_esEs0(Left(vwx300), Left(vwx400), app(app(ty_Either, cd), ce), cc) → new_esEs0(vwx300, vwx400, cd, ce)
new_esEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), app(app(app(ty_@3, bcd), bce), bcf), bca) → new_esEs1(vwx300, vwx400, bcd, bce, bcf)
new_esEs0(Left(vwx300), Left(vwx400), app(app(ty_@2, db), dc), cc) → new_esEs2(vwx300, vwx400, db, dc)
new_esEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), app(ty_[], bae), eh, gd) → new_esEs3(vwx300, vwx400, bae)
new_esEs3(:(vwx300, vwx301), :(vwx400, vwx401), bdb) → new_esEs3(vwx301, vwx401, bdb)
new_esEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), app(ty_Maybe, he), eh, gd) → new_esEs(vwx300, vwx400, he)
new_esEs0(Right(vwx300), Right(vwx400), de, app(app(ty_Either, dg), dh)) → new_esEs0(vwx300, vwx400, dg, dh)
new_esEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, eh, app(app(ty_@2, fh), ga)) → new_esEs2(vwx302, vwx402, fh, ga)
new_esEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, app(ty_[], hd), gd) → new_esEs3(vwx301, vwx401, hd)
new_esEs(Just(vwx300), Just(vwx400), app(app(ty_Either, bb), bc)) → new_esEs0(vwx300, vwx400, bb, bc)
new_esEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), app(app(app(ty_@3, hh), baa), bab), eh, gd) → new_esEs1(vwx300, vwx400, hh, baa, bab)
new_esEs(Just(vwx300), Just(vwx400), app(app(ty_@2, bg), bh)) → new_esEs2(vwx300, vwx400, bg, bh)
new_esEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), app(app(ty_Either, hf), hg), eh, gd) → new_esEs0(vwx300, vwx400, hf, hg)
new_esEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, app(app(ty_Either, ge), gf), gd) → new_esEs0(vwx301, vwx401, ge, gf)
new_esEs0(Left(vwx300), Left(vwx400), app(ty_[], dd), cc) → new_esEs3(vwx300, vwx400, dd)
new_esEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, eh, app(app(ty_Either, fb), fc)) → new_esEs0(vwx302, vwx402, fb, fc)
new_esEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), app(ty_[], bda), bca) → new_esEs3(vwx300, vwx400, bda)
new_esEs0(Right(vwx300), Right(vwx400), de, app(ty_Maybe, df)) → new_esEs(vwx300, vwx400, df)
new_esEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), baf, app(ty_[], bbg)) → new_esEs3(vwx301, vwx401, bbg)
new_esEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), app(app(ty_Either, bcb), bcc), bca) → new_esEs0(vwx300, vwx400, bcb, bcc)
new_esEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), app(app(ty_@2, bac), bad), eh, gd) → new_esEs2(vwx300, vwx400, bac, bad)
new_esEs3(:(vwx300, vwx301), :(vwx400, vwx401), app(app(ty_@2, bea), beb)) → new_esEs2(vwx300, vwx400, bea, beb)
new_esEs3(:(vwx300, vwx301), :(vwx400, vwx401), app(app(ty_Either, bdd), bde)) → new_esEs0(vwx300, vwx400, bdd, bde)
new_esEs(Just(vwx300), Just(vwx400), app(app(app(ty_@3, bd), be), bf)) → new_esEs1(vwx300, vwx400, bd, be, bf)
new_esEs0(Left(vwx300), Left(vwx400), app(ty_Maybe, cb), cc) → new_esEs(vwx300, vwx400, cb)
new_esEs3(:(vwx300, vwx301), :(vwx400, vwx401), app(ty_Maybe, bdc)) → new_esEs(vwx300, vwx400, bdc)
new_esEs3(:(vwx300, vwx301), :(vwx400, vwx401), app(app(app(ty_@3, bdf), bdg), bdh)) → new_esEs1(vwx300, vwx400, bdf, bdg, bdh)
new_esEs0(Right(vwx300), Right(vwx400), de, app(ty_[], ef)) → new_esEs3(vwx300, vwx400, ef)
new_esEs0(Left(vwx300), Left(vwx400), app(app(app(ty_@3, cf), cg), da), cc) → new_esEs1(vwx300, vwx400, cf, cg, da)
new_esEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, eh, app(ty_Maybe, fa)) → new_esEs(vwx302, vwx402, fa)
new_esEs0(Right(vwx300), Right(vwx400), de, app(app(app(ty_@3, ea), eb), ec)) → new_esEs1(vwx300, vwx400, ea, eb, ec)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primCmpNat(Succ(vwx300), Succ(vwx400)) → new_primCmpNat(vwx300, vwx400)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
QDP
                                ↳ QDPSizeChangeProof

Q DP problem:
The TRS P consists of the following rules:

new_compare2(Right(vwx100), Right(vwx110), False, app(app(ty_Either, cc), app(app(ty_@2, dd), de)), baa) → new_ltEs3(vwx100, vwx110, dd, de)
new_ltEs(Right(vwx100), Right(vwx110), cc, app(ty_[], db)) → new_ltEs1(vwx100, vwx110, db)
new_compare21(vwx66, vwx67, vwx68, vwx69, vwx70, vwx71, False, app(ty_[], bgb), bfe, bff) → new_compare0(vwx66, vwx69, bgb)
new_ltEs(Right(vwx100), Right(vwx110), cc, app(ty_Maybe, dc)) → new_ltEs2(vwx100, vwx110, dc)
new_compare23(vwx79, vwx80, vwx81, vwx82, False, app(ty_Maybe, cdd), ccg) → new_lt2(vwx79, vwx81, cdd)
new_compare2(@2(vwx100, vwx101), @2(vwx110, vwx111), False, app(app(ty_@2, bcf), app(app(app(ty_@3, bda), bdb), bdc)), baa) → new_ltEs0(vwx101, vwx111, bda, bdb, bdc)
new_compare21(vwx66, vwx67, vwx68, vwx69, vwx70, vwx71, False, bgf, app(app(app(ty_@3, bha), bhb), bhc), bff) → new_lt0(vwx67, vwx70, bha, bhb, bhc)
new_compare23(vwx79, vwx80, vwx81, vwx82, False, app(app(ty_@2, cde), cdf), ccg) → new_lt3(vwx79, vwx81, cde, cdf)
new_compare23(vwx79, vwx80, vwx81, vwx82, False, cdg, app(app(ty_Either, cdh), cea)) → new_ltEs(vwx80, vwx82, cdh, cea)
new_lt0(vwx66, vwx69, bfg, bfh, bga) → new_compare3(vwx66, vwx69, bfg, bfh, bga)
new_ltEs(Right(vwx100), Right(vwx110), cc, app(app(ty_Either, cd), ce)) → new_ltEs(vwx100, vwx110, cd, ce)
new_compare0(:(vwx30, vwx31), :(vwx40, vwx41), bdh) → new_compare0(vwx31, vwx41, bdh)
new_compare21(vwx66, vwx67, vwx68, vwx69, vwx70, vwx71, False, bgf, app(ty_[], bhd), bff) → new_lt1(vwx67, vwx70, bhd)
new_ltEs0(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), app(ty_Maybe, ef), dh, ea) → new_lt2(vwx100, vwx110, ef)
new_compare20(vwx17, vwx18, False, cfa, app(app(ty_@2, cga), cgb)) → new_ltEs3(vwx17, vwx18, cga, cgb)
new_compare2(@2(vwx100, vwx101), @2(vwx110, vwx111), False, app(app(ty_@2, app(ty_[], bcb)), bbf), baa) → new_lt1(vwx100, vwx110, bcb)
new_compare2(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), False, app(app(app(ty_@3, fa), dh), app(app(ty_Either, gd), ge)), baa) → new_ltEs(vwx102, vwx112, gd, ge)
new_compare22(vwx44, vwx45, False, app(ty_Maybe, cbh)) → new_ltEs2(vwx44, vwx45, cbh)
new_compare2(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), False, app(app(app(ty_@3, app(app(ty_Either, df), dg)), dh), ea), baa) → new_lt(vwx100, vwx110, df, dg)
new_ltEs0(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), fa, dh, app(app(ty_@2, hc), hd)) → new_ltEs3(vwx102, vwx112, hc, hd)
new_ltEs2(Just(vwx100), Just(vwx110), app(app(app(ty_@3, bae), baf), bag)) → new_ltEs0(vwx100, vwx110, bae, baf, bag)
new_compare2(Right(vwx100), Right(vwx110), False, app(app(ty_Either, cc), app(ty_Maybe, dc)), baa) → new_ltEs2(vwx100, vwx110, dc)
new_compare2(@2(vwx100, vwx101), @2(vwx110, vwx111), False, app(app(ty_@2, app(app(ty_Either, bbd), bbe)), bbf), baa) → new_lt(vwx100, vwx110, bbd, bbe)
new_compare21(vwx66, vwx67, vwx68, vwx69, vwx70, vwx71, False, bgf, app(app(ty_Either, bgg), bgh), bff) → new_lt(vwx67, vwx70, bgg, bgh)
new_compare21(vwx66, vwx67, vwx68, vwx69, vwx70, vwx71, False, bgf, app(app(ty_@2, bhf), bhg), bff) → new_lt3(vwx67, vwx70, bhf, bhg)
new_ltEs(Left(vwx100), Left(vwx110), app(app(ty_@2, ca), cb), bc) → new_ltEs3(vwx100, vwx110, ca, cb)
new_compare21(vwx66, vwx67, vwx68, vwx69, vwx70, vwx71, False, bgf, bfe, app(ty_Maybe, caf)) → new_ltEs2(vwx68, vwx71, caf)
new_ltEs3(@2(vwx100, vwx101), @2(vwx110, vwx111), bcf, app(app(app(ty_@3, bda), bdb), bdc)) → new_ltEs0(vwx101, vwx111, bda, bdb, bdc)
new_ltEs3(@2(vwx100, vwx101), @2(vwx110, vwx111), bcf, app(app(ty_@2, bdf), bdg)) → new_ltEs3(vwx101, vwx111, bdf, bdg)
new_lt(vwx66, vwx69, he, hf) → new_compare(vwx66, vwx69, he, hf)
new_compare2(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), False, app(app(app(ty_@3, fa), dh), app(ty_[], ha)), baa) → new_ltEs1(vwx102, vwx112, ha)
new_ltEs2(Just(vwx100), Just(vwx110), app(ty_[], bah)) → new_ltEs1(vwx100, vwx110, bah)
new_ltEs(Right(vwx100), Right(vwx110), cc, app(app(ty_@2, dd), de)) → new_ltEs3(vwx100, vwx110, dd, de)
new_ltEs0(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), app(ty_[], ee), dh, ea) → new_lt1(vwx100, vwx110, ee)
new_compare22(vwx44, vwx45, False, app(ty_[], cbg)) → new_ltEs1(vwx44, vwx45, cbg)
new_ltEs0(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), fa, app(app(ty_Either, fb), fc), ea) → new_lt(vwx101, vwx111, fb, fc)
new_ltEs0(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), fa, dh, app(app(app(ty_@3, gf), gg), gh)) → new_ltEs0(vwx102, vwx112, gf, gg, gh)
new_ltEs0(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), fa, dh, app(ty_[], ha)) → new_ltEs1(vwx102, vwx112, ha)
new_compare22(vwx44, vwx45, False, app(app(ty_Either, cbb), cbc)) → new_ltEs(vwx44, vwx45, cbb, cbc)
new_ltEs3(@2(vwx100, vwx101), @2(vwx110, vwx111), bcf, app(app(ty_Either, bcg), bch)) → new_ltEs(vwx101, vwx111, bcg, bch)
new_compare2(Left(vwx100), Left(vwx110), False, app(app(ty_Either, app(ty_[], bg)), bc), baa) → new_ltEs1(vwx100, vwx110, bg)
new_ltEs3(@2(vwx100, vwx101), @2(vwx110, vwx111), app(app(ty_@2, bcd), bce), bbf) → new_lt3(vwx100, vwx110, bcd, bce)
new_ltEs2(Just(vwx100), Just(vwx110), app(app(ty_@2, bbb), bbc)) → new_ltEs3(vwx100, vwx110, bbb, bbc)
new_compare21(vwx66, vwx67, vwx68, vwx69, vwx70, vwx71, False, bgf, app(ty_Maybe, bhe), bff) → new_lt2(vwx67, vwx70, bhe)
new_compare23(vwx79, vwx80, vwx81, vwx82, False, cdg, app(app(app(ty_@3, ceb), cec), ced)) → new_ltEs0(vwx80, vwx82, ceb, cec, ced)
new_compare22(vwx44, vwx45, False, app(app(ty_@2, cca), ccb)) → new_ltEs3(vwx44, vwx45, cca, ccb)
new_compare2(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), False, app(app(app(ty_@3, fa), app(ty_[], fh)), ea), baa) → new_lt1(vwx101, vwx111, fh)
new_primCompAux(vwx30, vwx40, vwx5, app(app(app(ty_@3, bec), bed), bee)) → new_compare3(vwx30, vwx40, bec, bed, bee)
new_compare(Right(vwx30), Right(vwx40), hg, hh) → new_compare20(vwx30, vwx40, new_esEs5(vwx30, vwx40, hh), hg, hh)
new_primCompAux(vwx30, vwx40, vwx5, app(app(ty_Either, bea), beb)) → new_compare(vwx30, vwx40, bea, beb)
new_compare21(vwx66, vwx67, vwx68, vwx69, vwx70, vwx71, False, app(app(app(ty_@3, bfg), bfh), bga), bfe, bff) → new_compare3(vwx66, vwx69, bfg, bfh, bga)
new_lt3(vwx66, vwx69, bgd, bge) → new_compare5(vwx66, vwx69, bgd, bge)
new_ltEs3(@2(vwx100, vwx101), @2(vwx110, vwx111), app(ty_Maybe, bcc), bbf) → new_lt2(vwx100, vwx110, bcc)
new_compare0(:(vwx30, vwx31), :(vwx40, vwx41), bdh) → new_primCompAux(vwx30, vwx40, new_compare1(vwx31, vwx41, bdh), bdh)
new_compare22(vwx44, vwx45, False, app(app(app(ty_@3, cbd), cbe), cbf)) → new_ltEs0(vwx44, vwx45, cbd, cbe, cbf)
new_compare2(@2(vwx100, vwx101), @2(vwx110, vwx111), False, app(app(ty_@2, app(app(ty_@2, bcd), bce)), bbf), baa) → new_lt3(vwx100, vwx110, bcd, bce)
new_ltEs0(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), app(app(ty_@2, eg), eh), dh, ea) → new_lt3(vwx100, vwx110, eg, eh)
new_ltEs3(@2(vwx100, vwx101), @2(vwx110, vwx111), app(app(ty_Either, bbd), bbe), bbf) → new_lt(vwx100, vwx110, bbd, bbe)
new_ltEs(Left(vwx100), Left(vwx110), app(ty_[], bg), bc) → new_ltEs1(vwx100, vwx110, bg)
new_compare2(@2(vwx100, vwx101), @2(vwx110, vwx111), False, app(app(ty_@2, bcf), app(app(ty_Either, bcg), bch)), baa) → new_ltEs(vwx101, vwx111, bcg, bch)
new_compare4(Just(vwx30), Just(vwx40), cba) → new_compare22(vwx30, vwx40, new_esEs9(vwx30, vwx40, cba), cba)
new_compare23(vwx79, vwx80, vwx81, vwx82, False, cdg, app(ty_[], cee)) → new_ltEs1(vwx80, vwx82, cee)
new_ltEs(Left(vwx100), Left(vwx110), app(app(app(ty_@3, bd), be), bf), bc) → new_ltEs0(vwx100, vwx110, bd, be, bf)
new_ltEs0(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), fa, app(ty_Maybe, ga), ea) → new_lt2(vwx101, vwx111, ga)
new_compare2(Just(vwx100), Just(vwx110), False, app(ty_Maybe, app(ty_Maybe, bba)), baa) → new_ltEs2(vwx100, vwx110, bba)
new_compare2(Just(vwx100), Just(vwx110), False, app(ty_Maybe, app(app(ty_@2, bbb), bbc)), baa) → new_ltEs3(vwx100, vwx110, bbb, bbc)
new_compare2(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), False, app(app(app(ty_@3, app(app(ty_@2, eg), eh)), dh), ea), baa) → new_lt3(vwx100, vwx110, eg, eh)
new_compare2(Just(vwx100), Just(vwx110), False, app(ty_Maybe, app(ty_[], bah)), baa) → new_ltEs1(vwx100, vwx110, bah)
new_ltEs0(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), fa, app(ty_[], fh), ea) → new_lt1(vwx101, vwx111, fh)
new_compare2(Just(vwx100), Just(vwx110), False, app(ty_Maybe, app(app(app(ty_@3, bae), baf), bag)), baa) → new_ltEs0(vwx100, vwx110, bae, baf, bag)
new_compare2(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), False, app(app(app(ty_@3, fa), dh), app(ty_Maybe, hb)), baa) → new_ltEs2(vwx102, vwx112, hb)
new_compare2(Just(vwx100), Just(vwx110), False, app(ty_Maybe, app(app(ty_Either, bac), bad)), baa) → new_ltEs(vwx100, vwx110, bac, bad)
new_compare20(vwx17, vwx18, False, cfa, app(app(ty_Either, cfb), cfc)) → new_ltEs(vwx17, vwx18, cfb, cfc)
new_ltEs3(@2(vwx100, vwx101), @2(vwx110, vwx111), app(ty_[], bcb), bbf) → new_lt1(vwx100, vwx110, bcb)
new_ltEs(Left(vwx100), Left(vwx110), app(ty_Maybe, bh), bc) → new_ltEs2(vwx100, vwx110, bh)
new_ltEs3(@2(vwx100, vwx101), @2(vwx110, vwx111), bcf, app(ty_[], bdd)) → new_ltEs1(vwx101, vwx111, bdd)
new_compare21(vwx66, vwx67, vwx68, vwx69, vwx70, vwx71, False, bgf, bfe, app(app(app(ty_@3, cab), cac), cad)) → new_ltEs0(vwx68, vwx71, cab, cac, cad)
new_primCompAux(vwx30, vwx40, vwx5, app(app(ty_@2, beh), bfa)) → new_compare5(vwx30, vwx40, beh, bfa)
new_compare23(vwx79, vwx80, vwx81, vwx82, False, app(app(app(ty_@3, cch), cda), cdb), ccg) → new_lt0(vwx79, vwx81, cch, cda, cdb)
new_compare2(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), False, app(app(app(ty_@3, fa), app(app(ty_@2, gb), gc)), ea), baa) → new_lt3(vwx101, vwx111, gb, gc)
new_compare23(vwx79, vwx80, vwx81, vwx82, False, cdg, app(app(ty_@2, ceg), ceh)) → new_ltEs3(vwx80, vwx82, ceg, ceh)
new_ltEs(Left(vwx100), Left(vwx110), app(app(ty_Either, ba), bb), bc) → new_ltEs(vwx100, vwx110, ba, bb)
new_compare2(@2(vwx100, vwx101), @2(vwx110, vwx111), False, app(app(ty_@2, bcf), app(ty_[], bdd)), baa) → new_ltEs1(vwx101, vwx111, bdd)
new_compare2(@2(vwx100, vwx101), @2(vwx110, vwx111), False, app(app(ty_@2, bcf), app(ty_Maybe, bde)), baa) → new_ltEs2(vwx101, vwx111, bde)
new_compare21(vwx66, vwx67, vwx68, vwx69, vwx70, vwx71, False, app(app(ty_Either, he), hf), bfe, bff) → new_compare(vwx66, vwx69, he, hf)
new_compare21(vwx66, vwx67, vwx68, vwx69, vwx70, vwx71, False, bgf, bfe, app(app(ty_Either, bhh), caa)) → new_ltEs(vwx68, vwx71, bhh, caa)
new_ltEs0(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), app(app(app(ty_@3, eb), ec), ed), dh, ea) → new_lt0(vwx100, vwx110, eb, ec, ed)
new_compare2(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), False, app(app(app(ty_@3, app(app(app(ty_@3, eb), ec), ed)), dh), ea), baa) → new_lt0(vwx100, vwx110, eb, ec, ed)
new_ltEs0(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), fa, app(app(ty_@2, gb), gc), ea) → new_lt3(vwx101, vwx111, gb, gc)
new_compare21(vwx66, vwx67, vwx68, vwx69, vwx70, vwx71, False, app(ty_Maybe, bgc), bfe, bff) → new_compare4(vwx66, vwx69, bgc)
new_compare2(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), False, app(app(app(ty_@3, fa), app(ty_Maybe, ga)), ea), baa) → new_lt2(vwx101, vwx111, ga)
new_compare2(Right(vwx100), Right(vwx110), False, app(app(ty_Either, cc), app(app(app(ty_@3, cf), cg), da)), baa) → new_ltEs0(vwx100, vwx110, cf, cg, da)
new_compare21(vwx66, vwx67, vwx68, vwx69, vwx70, vwx71, False, bgf, bfe, app(app(ty_@2, cag), cah)) → new_ltEs3(vwx68, vwx71, cag, cah)
new_compare5(@2(vwx30, vwx31), @2(vwx40, vwx41), ccc, ccd) → new_compare23(vwx30, vwx31, vwx40, vwx41, new_asAs(new_esEs11(vwx30, vwx40, ccc), new_esEs10(vwx31, vwx41, ccd)), ccc, ccd)
new_ltEs2(Just(vwx100), Just(vwx110), app(app(ty_Either, bac), bad)) → new_ltEs(vwx100, vwx110, bac, bad)
new_compare2(Left(vwx100), Left(vwx110), False, app(app(ty_Either, app(app(ty_@2, ca), cb)), bc), baa) → new_ltEs3(vwx100, vwx110, ca, cb)
new_primCompAux(vwx30, vwx40, vwx5, app(ty_[], bef)) → new_compare0(vwx30, vwx40, bef)
new_compare2(Left(vwx100), Left(vwx110), False, app(app(ty_Either, app(app(ty_Either, ba), bb)), bc), baa) → new_ltEs(vwx100, vwx110, ba, bb)
new_compare2(Right(vwx100), Right(vwx110), False, app(app(ty_Either, cc), app(app(ty_Either, cd), ce)), baa) → new_ltEs(vwx100, vwx110, cd, ce)
new_compare2(Right(vwx100), Right(vwx110), False, app(app(ty_Either, cc), app(ty_[], db)), baa) → new_ltEs1(vwx100, vwx110, db)
new_compare23(vwx79, vwx80, vwx81, vwx82, False, app(ty_[], cdc), ccg) → new_lt1(vwx79, vwx81, cdc)
new_compare(Left(vwx30), Left(vwx40), hg, hh) → new_compare2(vwx30, vwx40, new_esEs4(vwx30, vwx40, hg), hg, hh)
new_ltEs0(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), fa, app(app(app(ty_@3, fd), ff), fg), ea) → new_lt0(vwx101, vwx111, fd, ff, fg)
new_compare2(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), False, app(app(app(ty_@3, fa), app(app(app(ty_@3, fd), ff), fg)), ea), baa) → new_lt0(vwx101, vwx111, fd, ff, fg)
new_compare2(Left(vwx100), Left(vwx110), False, app(app(ty_Either, app(app(app(ty_@3, bd), be), bf)), bc), baa) → new_ltEs0(vwx100, vwx110, bd, be, bf)
new_compare20(vwx17, vwx18, False, cfa, app(ty_[], cfg)) → new_ltEs1(vwx17, vwx18, cfg)
new_compare2(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), False, app(app(app(ty_@3, app(ty_[], ee)), dh), ea), baa) → new_lt1(vwx100, vwx110, ee)
new_compare20(vwx17, vwx18, False, cfa, app(ty_Maybe, cfh)) → new_ltEs2(vwx17, vwx18, cfh)
new_compare2(@2(vwx100, vwx101), @2(vwx110, vwx111), False, app(app(ty_@2, app(ty_Maybe, bcc)), bbf), baa) → new_lt2(vwx100, vwx110, bcc)
new_lt1(vwx66, vwx69, bgb) → new_compare0(vwx66, vwx69, bgb)
new_compare2(vwx10, vwx11, False, app(ty_[], bab), baa) → new_compare0(vwx10, vwx11, bab)
new_compare23(vwx79, vwx80, vwx81, vwx82, False, app(app(ty_Either, cce), ccf), ccg) → new_lt(vwx79, vwx81, cce, ccf)
new_ltEs0(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), fa, dh, app(ty_Maybe, hb)) → new_ltEs2(vwx102, vwx112, hb)
new_ltEs2(Just(vwx100), Just(vwx110), app(ty_Maybe, bba)) → new_ltEs2(vwx100, vwx110, bba)
new_compare2(@2(vwx100, vwx101), @2(vwx110, vwx111), False, app(app(ty_@2, bcf), app(app(ty_@2, bdf), bdg)), baa) → new_ltEs3(vwx101, vwx111, bdf, bdg)
new_compare21(vwx66, vwx67, vwx68, vwx69, vwx70, vwx71, False, app(app(ty_@2, bgd), bge), bfe, bff) → new_compare5(vwx66, vwx69, bgd, bge)
new_compare2(Left(vwx100), Left(vwx110), False, app(app(ty_Either, app(ty_Maybe, bh)), bc), baa) → new_ltEs2(vwx100, vwx110, bh)
new_compare2(@2(vwx100, vwx101), @2(vwx110, vwx111), False, app(app(ty_@2, app(app(app(ty_@3, bbg), bbh), bca)), bbf), baa) → new_lt0(vwx100, vwx110, bbg, bbh, bca)
new_ltEs0(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), fa, dh, app(app(ty_Either, gd), ge)) → new_ltEs(vwx102, vwx112, gd, ge)
new_lt2(vwx66, vwx69, bgc) → new_compare4(vwx66, vwx69, bgc)
new_compare21(vwx66, vwx67, vwx68, vwx69, vwx70, vwx71, False, bgf, bfe, app(ty_[], cae)) → new_ltEs1(vwx68, vwx71, cae)
new_ltEs1(vwx10, vwx11, bab) → new_compare0(vwx10, vwx11, bab)
new_primCompAux(vwx30, vwx40, vwx5, app(ty_Maybe, beg)) → new_compare4(vwx30, vwx40, beg)
new_compare20(vwx17, vwx18, False, cfa, app(app(app(ty_@3, cfd), cfe), cff)) → new_ltEs0(vwx17, vwx18, cfd, cfe, cff)
new_compare2(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), False, app(app(app(ty_@3, fa), app(app(ty_Either, fb), fc)), ea), baa) → new_lt(vwx101, vwx111, fb, fc)
new_compare2(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), False, app(app(app(ty_@3, fa), dh), app(app(ty_@2, hc), hd)), baa) → new_ltEs3(vwx102, vwx112, hc, hd)
new_compare2(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), False, app(app(app(ty_@3, fa), dh), app(app(app(ty_@3, gf), gg), gh)), baa) → new_ltEs0(vwx102, vwx112, gf, gg, gh)
new_ltEs(Right(vwx100), Right(vwx110), cc, app(app(app(ty_@3, cf), cg), da)) → new_ltEs0(vwx100, vwx110, cf, cg, da)
new_compare23(vwx79, vwx80, vwx81, vwx82, False, cdg, app(ty_Maybe, cef)) → new_ltEs2(vwx80, vwx82, cef)
new_ltEs3(@2(vwx100, vwx101), @2(vwx110, vwx111), app(app(app(ty_@3, bbg), bbh), bca), bbf) → new_lt0(vwx100, vwx110, bbg, bbh, bca)
new_compare3(@3(vwx30, vwx31, vwx32), @3(vwx40, vwx41, vwx42), bfb, bfc, bfd) → new_compare21(vwx30, vwx31, vwx32, vwx40, vwx41, vwx42, new_asAs(new_esEs8(vwx30, vwx40, bfb), new_asAs(new_esEs7(vwx31, vwx41, bfc), new_esEs6(vwx32, vwx42, bfd))), bfb, bfc, bfd)
new_ltEs0(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), app(app(ty_Either, df), dg), dh, ea) → new_lt(vwx100, vwx110, df, dg)
new_ltEs3(@2(vwx100, vwx101), @2(vwx110, vwx111), bcf, app(ty_Maybe, bde)) → new_ltEs2(vwx101, vwx111, bde)
new_compare2(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), False, app(app(app(ty_@3, app(ty_Maybe, ef)), dh), ea), baa) → new_lt2(vwx100, vwx110, ef)

The TRS R consists of the following rules:

new_esEs29(vwx301, vwx401, ty_Integer) → new_esEs17(vwx301, vwx401)
new_ltEs7(Left(vwx100), Left(vwx110), app(ty_Maybe, bh), bc) → new_ltEs13(vwx100, vwx110, bh)
new_esEs28(vwx100, vwx110, ty_Integer) → new_esEs17(vwx100, vwx110)
new_esEs9(vwx30, vwx40, ty_Float) → new_esEs20(vwx30, vwx40)
new_esEs39(vwx66, vwx69, ty_Char) → new_esEs24(vwx66, vwx69)
new_ltEs10(vwx10, vwx11) → new_fsEs(new_compare12(vwx10, vwx11))
new_ltEs4(vwx17, vwx18, app(app(app(ty_@3, cfd), cfe), cff)) → new_ltEs9(vwx17, vwx18, cfd, cfe, cff)
new_esEs36(vwx100, vwx110, app(app(app(ty_@3, eb), ec), ed)) → new_esEs23(vwx100, vwx110, eb, ec, ed)
new_esEs29(vwx301, vwx401, ty_Int) → new_esEs16(vwx301, vwx401)
new_ltEs20(vwx10, vwx11, ty_Char) → new_ltEs18(vwx10, vwx11)
new_esEs37(vwx300, vwx400, ty_Int) → new_esEs16(vwx300, vwx400)
new_esEs21(Right(vwx300), Right(vwx400), cge, app(app(ty_Either, fbf), fbg)) → new_esEs21(vwx300, vwx400, fbf, fbg)
new_lt8(vwx66, vwx69) → new_esEs18(new_compare7(vwx66, vwx69), LT)
new_ltEs19(vwx101, vwx111, ty_Ordering) → new_ltEs16(vwx101, vwx111)
new_esEs11(vwx30, vwx40, ty_Ordering) → new_esEs18(vwx30, vwx40)
new_ltEs16(GT, GT) → True
new_ltEs15(True, False) → False
new_ltEs21(vwx80, vwx82, app(ty_[], cee)) → new_ltEs12(vwx80, vwx82, cee)
new_lt23(vwx67, vwx70, ty_@0) → new_lt8(vwx67, vwx70)
new_esEs7(vwx31, vwx41, ty_Float) → new_esEs20(vwx31, vwx41)
new_ltEs7(Left(vwx100), Left(vwx110), ty_@0, bc) → new_ltEs6(vwx100, vwx110)
new_esEs18(LT, LT) → True
new_esEs35(vwx101, vwx111, ty_Double) → new_esEs22(vwx101, vwx111)
new_esEs7(vwx31, vwx41, ty_Double) → new_esEs22(vwx31, vwx41)
new_compare1(:(vwx30, vwx31), :(vwx40, vwx41), bdh) → new_primCompAux1(vwx30, vwx40, new_compare1(vwx31, vwx41, bdh), bdh)
new_esEs34(vwx300, vwx400, ty_Bool) → new_esEs27(vwx300, vwx400)
new_lt6(vwx100, vwx110, ty_@0) → new_lt8(vwx100, vwx110)
new_ltEs9(@3(vwx100, vwx101, vwx102), @3(vwx110, vwx111, vwx112), fa, dh, ea) → new_pePe(new_lt20(vwx100, vwx110, fa), new_asAs(new_esEs36(vwx100, vwx110, fa), new_pePe(new_lt21(vwx101, vwx111, dh), new_asAs(new_esEs35(vwx101, vwx111, dh), new_ltEs23(vwx102, vwx112, ea)))))
new_compare15(vwx95, vwx96, True, dga, dgb) → LT
new_esEs31(vwx79, vwx81, app(ty_Maybe, cdd)) → new_esEs19(vwx79, vwx81, cdd)
new_ltEs4(vwx17, vwx18, ty_Double) → new_ltEs14(vwx17, vwx18)
new_lt20(vwx100, vwx110, ty_Int) → new_lt10(vwx100, vwx110)
new_lt22(vwx66, vwx69, ty_Int) → new_lt10(vwx66, vwx69)
new_esEs6(vwx32, vwx42, app(app(ty_@2, dcd), dce)) → new_esEs25(vwx32, vwx42, dcd, dce)
new_esEs7(vwx31, vwx41, ty_Integer) → new_esEs17(vwx31, vwx41)
new_esEs6(vwx32, vwx42, app(ty_[], dcf)) → new_esEs26(vwx32, vwx42, dcf)
new_compare29(False, False) → EQ
new_compare17(vwx131, vwx132, vwx133, vwx134, vwx135, vwx136, False, dhg, dhh, eaa) → GT
new_esEs18(EQ, LT) → False
new_esEs18(LT, EQ) → False
new_compare33(EQ, EQ) → EQ
new_esEs6(vwx32, vwx42, ty_Integer) → new_esEs17(vwx32, vwx42)
new_esEs31(vwx79, vwx81, app(app(ty_@2, cde), cdf)) → new_esEs25(vwx79, vwx81, cde, cdf)
new_esEs32(vwx302, vwx402, app(app(ty_@2, edh), eea)) → new_esEs25(vwx302, vwx402, edh, eea)
new_esEs38(vwx67, vwx70, ty_Bool) → new_esEs27(vwx67, vwx70)
new_ltEs16(LT, GT) → True
new_compare33(GT, GT) → EQ
new_lt22(vwx66, vwx69, ty_@0) → new_lt8(vwx66, vwx69)
new_ltEs19(vwx101, vwx111, ty_Float) → new_ltEs11(vwx101, vwx111)
new_compare33(LT, LT) → EQ
new_esEs8(vwx30, vwx40, app(app(ty_@2, dae), daf)) → new_esEs25(vwx30, vwx40, dae, daf)
new_esEs33(vwx301, vwx401, app(ty_[], efd)) → new_esEs26(vwx301, vwx401, efd)
new_lt23(vwx67, vwx70, app(app(app(ty_@3, bha), bhb), bhc)) → new_lt4(vwx67, vwx70, bha, bhb, bhc)
new_esEs31(vwx79, vwx81, app(ty_[], cdc)) → new_esEs26(vwx79, vwx81, cdc)
new_lt19(vwx79, vwx81, ty_@0) → new_lt8(vwx79, vwx81)
new_ltEs7(Left(vwx100), Left(vwx110), app(app(ty_@2, ca), cb), bc) → new_ltEs17(vwx100, vwx110, ca, cb)
new_esEs37(vwx300, vwx400, app(app(ty_Either, ffg), ffh)) → new_esEs21(vwx300, vwx400, ffg, ffh)
new_esEs33(vwx301, vwx401, ty_Char) → new_esEs24(vwx301, vwx401)
new_lt16(vwx66, vwx69) → new_esEs18(new_compare33(vwx66, vwx69), LT)
new_esEs39(vwx66, vwx69, ty_Bool) → new_esEs27(vwx66, vwx69)
new_ltEs21(vwx80, vwx82, ty_@0) → new_ltEs6(vwx80, vwx82)
new_esEs37(vwx300, vwx400, ty_Char) → new_esEs24(vwx300, vwx400)
new_esEs13(:%(vwx300, vwx301), :%(vwx400, vwx401), cgc) → new_asAs(new_esEs15(vwx300, vwx400, cgc), new_esEs14(vwx301, vwx401, cgc))
new_ltEs13(Just(vwx100), Just(vwx110), ty_Ordering) → new_ltEs16(vwx100, vwx110)
new_esEs39(vwx66, vwx69, ty_@0) → new_esEs12(vwx66, vwx69)
new_ltEs7(Left(vwx100), Right(vwx110), cc, bc) → True
new_esEs5(vwx30, vwx40, ty_Int) → new_esEs16(vwx30, vwx40)
new_primMulNat0(Zero, Zero) → Zero
new_esEs39(vwx66, vwx69, ty_Int) → new_esEs16(vwx66, vwx69)
new_ltEs7(Right(vwx100), Right(vwx110), cc, ty_Ordering) → new_ltEs16(vwx100, vwx110)
new_compare31(Left(vwx30), Left(vwx40), hg, hh) → new_compare26(vwx30, vwx40, new_esEs4(vwx30, vwx40, hg), hg, hh)
new_esEs19(Just(vwx300), Just(vwx400), app(ty_Ratio, dhf)) → new_esEs13(vwx300, vwx400, dhf)
new_esEs35(vwx101, vwx111, ty_Char) → new_esEs24(vwx101, vwx111)
new_sr(Integer(vwx400), Integer(vwx310)) → Integer(new_primMulInt(vwx400, vwx310))
new_ltEs24(vwx68, vwx71, app(ty_[], cae)) → new_ltEs12(vwx68, vwx71, cae)
new_ltEs21(vwx80, vwx82, app(ty_Maybe, cef)) → new_ltEs13(vwx80, vwx82, cef)
new_ltEs13(Nothing, Just(vwx110), deb) → True
new_lt20(vwx100, vwx110, ty_@0) → new_lt8(vwx100, vwx110)
new_esEs35(vwx101, vwx111, app(ty_Ratio, feb)) → new_esEs13(vwx101, vwx111, feb)
new_esEs38(vwx67, vwx70, app(app(ty_@2, bhf), bhg)) → new_esEs25(vwx67, vwx70, bhf, bhg)
new_esEs29(vwx301, vwx401, ty_Ordering) → new_esEs18(vwx301, vwx401)
new_esEs19(Just(vwx300), Just(vwx400), ty_Int) → new_esEs16(vwx300, vwx400)
new_esEs21(Left(vwx300), Left(vwx400), app(ty_Ratio, fbd), cgf) → new_esEs13(vwx300, vwx400, fbd)
new_lt20(vwx100, vwx110, app(app(app(ty_@3, eb), ec), ed)) → new_lt4(vwx100, vwx110, eb, ec, ed)
new_esEs32(vwx302, vwx402, app(ty_Maybe, edb)) → new_esEs19(vwx302, vwx402, edb)
new_lt20(vwx100, vwx110, app(ty_Maybe, ef)) → new_lt13(vwx100, vwx110, ef)
new_esEs32(vwx302, vwx402, ty_Float) → new_esEs20(vwx302, vwx402)
new_ltEs20(vwx10, vwx11, app(ty_Maybe, deb)) → new_ltEs13(vwx10, vwx11, deb)
new_compare10(vwx146, vwx147, vwx148, vwx149, True, che, chf) → LT
new_ltEs8(vwx10, vwx11, dfg) → new_fsEs(new_compare8(vwx10, vwx11, dfg))
new_ltEs20(vwx10, vwx11, ty_Integer) → new_ltEs5(vwx10, vwx11)
new_lt22(vwx66, vwx69, app(app(ty_@2, bgd), bge)) → new_lt17(vwx66, vwx69, bgd, bge)
new_compare1([], :(vwx40, vwx41), bdh) → LT
new_ltEs4(vwx17, vwx18, app(ty_Ratio, dbb)) → new_ltEs8(vwx17, vwx18, dbb)
new_esEs8(vwx30, vwx40, app(app(ty_Either, chh), daa)) → new_esEs21(vwx30, vwx40, chh, daa)
new_lt23(vwx67, vwx70, ty_Char) → new_lt18(vwx67, vwx70)
new_esEs19(Just(vwx300), Just(vwx400), app(app(ty_Either, dgf), dgg)) → new_esEs21(vwx300, vwx400, dgf, dgg)
new_ltEs22(vwx44, vwx45, ty_Double) → new_ltEs14(vwx44, vwx45)
new_lt20(vwx100, vwx110, ty_Double) → new_lt14(vwx100, vwx110)
new_ltEs22(vwx44, vwx45, ty_Integer) → new_ltEs5(vwx44, vwx45)
new_ltEs24(vwx68, vwx71, app(app(ty_@2, cag), cah)) → new_ltEs17(vwx68, vwx71, cag, cah)
new_ltEs23(vwx102, vwx112, ty_Float) → new_ltEs11(vwx102, vwx112)
new_esEs15(vwx300, vwx400, ty_Integer) → new_esEs17(vwx300, vwx400)
new_lt23(vwx67, vwx70, ty_Double) → new_lt14(vwx67, vwx70)
new_esEs6(vwx32, vwx42, app(ty_Maybe, dbf)) → new_esEs19(vwx32, vwx42, dbf)
new_ltEs20(vwx10, vwx11, app(app(ty_@2, bcf), bbf)) → new_ltEs17(vwx10, vwx11, bcf, bbf)
new_esEs28(vwx100, vwx110, app(app(ty_@2, bcd), bce)) → new_esEs25(vwx100, vwx110, bcd, bce)
new_esEs19(Just(vwx300), Nothing, cgd) → False
new_esEs19(Nothing, Just(vwx400), cgd) → False
new_ltEs19(vwx101, vwx111, ty_Int) → new_ltEs10(vwx101, vwx111)
new_compare33(GT, EQ) → GT
new_esEs34(vwx300, vwx400, ty_Ordering) → new_esEs18(vwx300, vwx400)
new_esEs38(vwx67, vwx70, app(app(ty_Either, bgg), bgh)) → new_esEs21(vwx67, vwx70, bgg, bgh)
new_esEs30(vwx300, vwx400, ty_Char) → new_esEs24(vwx300, vwx400)
new_esEs18(GT, LT) → False
new_esEs18(LT, GT) → False
new_esEs29(vwx301, vwx401, ty_Float) → new_esEs20(vwx301, vwx401)
new_esEs12(@0, @0) → True
new_esEs38(vwx67, vwx70, ty_Integer) → new_esEs17(vwx67, vwx70)
new_esEs8(vwx30, vwx40, ty_Double) → new_esEs22(vwx30, vwx40)
new_ltEs21(vwx80, vwx82, app(app(ty_@2, ceg), ceh)) → new_ltEs17(vwx80, vwx82, ceg, ceh)
new_esEs28(vwx100, vwx110, ty_@0) → new_esEs12(vwx100, vwx110)
new_ltEs22(vwx44, vwx45, ty_Bool) → new_ltEs15(vwx44, vwx45)
new_esEs19(Nothing, Nothing, cgd) → True
new_esEs25(@2(vwx300, vwx301), @2(vwx400, vwx401), chb, chc) → new_asAs(new_esEs30(vwx300, vwx400, chb), new_esEs29(vwx301, vwx401, chc))
new_compare6(@3(vwx30, vwx31, vwx32), @3(vwx40, vwx41, vwx42), bfb, bfc, bfd) → new_compare25(vwx30, vwx31, vwx32, vwx40, vwx41, vwx42, new_asAs(new_esEs8(vwx30, vwx40, bfb), new_asAs(new_esEs7(vwx31, vwx41, bfc), new_esEs6(vwx32, vwx42, bfd))), bfb, bfc, bfd)
new_compare28(vwx44, vwx45, False, ech) → new_compare16(vwx44, vwx45, new_ltEs22(vwx44, vwx45, ech), ech)
new_ltEs7(Right(vwx100), Right(vwx110), cc, ty_Float) → new_ltEs11(vwx100, vwx110)
new_compare33(LT, GT) → LT
new_esEs34(vwx300, vwx400, app(ty_[], egf)) → new_esEs26(vwx300, vwx400, egf)
new_esEs32(vwx302, vwx402, app(app(app(ty_@3, ede), edf), edg)) → new_esEs23(vwx302, vwx402, ede, edf, edg)
new_esEs32(vwx302, vwx402, ty_Integer) → new_esEs17(vwx302, vwx402)
new_ltEs22(vwx44, vwx45, ty_@0) → new_ltEs6(vwx44, vwx45)
new_compare27(vwx79, vwx80, vwx81, vwx82, True, cdg, ccg) → EQ
new_ltEs4(vwx17, vwx18, app(ty_Maybe, cfh)) → new_ltEs13(vwx17, vwx18, cfh)
new_ltEs7(Right(vwx100), Right(vwx110), cc, app(ty_Ratio, dgd)) → new_ltEs8(vwx100, vwx110, dgd)
new_esEs34(vwx300, vwx400, app(app(ty_Either, efg), efh)) → new_esEs21(vwx300, vwx400, efg, efh)
new_esEs17(Integer(vwx300), Integer(vwx400)) → new_primEqInt(vwx300, vwx400)
new_esEs4(vwx30, vwx40, ty_Float) → new_esEs20(vwx30, vwx40)
new_esEs21(Right(vwx300), Right(vwx400), cge, ty_Char) → new_esEs24(vwx300, vwx400)
new_esEs19(Just(vwx300), Just(vwx400), ty_@0) → new_esEs12(vwx300, vwx400)
new_ltEs19(vwx101, vwx111, ty_Char) → new_ltEs18(vwx101, vwx111)
new_ltEs7(Left(vwx100), Left(vwx110), app(app(app(ty_@3, bd), be), bf), bc) → new_ltEs9(vwx100, vwx110, bd, be, bf)
new_pePe(False, vwx158) → vwx158
new_compare29(False, True) → LT
new_ltEs22(vwx44, vwx45, app(ty_Maybe, cbh)) → new_ltEs13(vwx44, vwx45, cbh)
new_compare30(vwx30, vwx40, app(ty_Maybe, beg)) → new_compare32(vwx30, vwx40, beg)
new_ltEs15(True, True) → True
new_lt14(vwx66, vwx69) → new_esEs18(new_compare9(vwx66, vwx69), LT)
new_esEs29(vwx301, vwx401, app(app(app(ty_@3, eae), eaf), eag)) → new_esEs23(vwx301, vwx401, eae, eaf, eag)
new_esEs39(vwx66, vwx69, app(ty_Ratio, dbc)) → new_esEs13(vwx66, vwx69, dbc)
new_esEs37(vwx300, vwx400, app(ty_Ratio, fgg)) → new_esEs13(vwx300, vwx400, fgg)
new_compare30(vwx30, vwx40, app(ty_Ratio, egh)) → new_compare8(vwx30, vwx40, egh)
new_esEs29(vwx301, vwx401, app(app(ty_Either, eac), ead)) → new_esEs21(vwx301, vwx401, eac, ead)
new_esEs36(vwx100, vwx110, app(ty_Ratio, fea)) → new_esEs13(vwx100, vwx110, fea)
new_esEs9(vwx30, vwx40, app(ty_Maybe, ded)) → new_esEs19(vwx30, vwx40, ded)
new_esEs9(vwx30, vwx40, ty_Char) → new_esEs24(vwx30, vwx40)
new_esEs11(vwx30, vwx40, ty_Double) → new_esEs22(vwx30, vwx40)
new_compare32(Just(vwx30), Just(vwx40), cba) → new_compare28(vwx30, vwx40, new_esEs9(vwx30, vwx40, cba), cba)
new_compare30(vwx30, vwx40, app(ty_[], bef)) → new_compare1(vwx30, vwx40, bef)
new_ltEs15(False, True) → True
new_ltEs7(Right(vwx100), Right(vwx110), cc, ty_Bool) → new_ltEs15(vwx100, vwx110)
new_esEs9(vwx30, vwx40, ty_Ordering) → new_esEs18(vwx30, vwx40)
new_esEs19(Just(vwx300), Just(vwx400), app(app(ty_@2, dhc), dhd)) → new_esEs25(vwx300, vwx400, dhc, dhd)
new_lt20(vwx100, vwx110, app(app(ty_@2, eg), eh)) → new_lt17(vwx100, vwx110, eg, eh)
new_ltEs16(EQ, GT) → True
new_esEs8(vwx30, vwx40, ty_Bool) → new_esEs27(vwx30, vwx40)
new_esEs9(vwx30, vwx40, ty_@0) → new_esEs12(vwx30, vwx40)
new_lt22(vwx66, vwx69, app(ty_[], bgb)) → new_lt12(vwx66, vwx69, bgb)
new_esEs39(vwx66, vwx69, app(app(app(ty_@3, bfg), bfh), bga)) → new_esEs23(vwx66, vwx69, bfg, bfh, bga)
new_lt19(vwx79, vwx81, app(app(ty_Either, cce), ccf)) → new_lt9(vwx79, vwx81, cce, ccf)
new_ltEs12(vwx10, vwx11, bab) → new_fsEs(new_compare1(vwx10, vwx11, bab))
new_ltEs22(vwx44, vwx45, ty_Ordering) → new_ltEs16(vwx44, vwx45)
new_primCompAux1(vwx30, vwx40, vwx5, bdh) → new_primCompAux0(vwx5, new_compare30(vwx30, vwx40, bdh))
new_esEs29(vwx301, vwx401, app(ty_Ratio, ebc)) → new_esEs13(vwx301, vwx401, ebc)
new_esEs14(vwx301, vwx401, ty_Int) → new_esEs16(vwx301, vwx401)
new_esEs38(vwx67, vwx70, app(ty_Maybe, bhe)) → new_esEs19(vwx67, vwx70, bhe)
new_esEs36(vwx100, vwx110, ty_Double) → new_esEs22(vwx100, vwx110)
new_ltEs20(vwx10, vwx11, app(ty_[], bab)) → new_ltEs12(vwx10, vwx11, bab)
new_ltEs15(False, False) → True
new_lt19(vwx79, vwx81, app(ty_[], cdc)) → new_lt12(vwx79, vwx81, cdc)
new_esEs7(vwx31, vwx41, app(ty_Maybe, dch)) → new_esEs19(vwx31, vwx41, dch)
new_esEs39(vwx66, vwx69, app(ty_[], bgb)) → new_esEs26(vwx66, vwx69, bgb)
new_esEs35(vwx101, vwx111, ty_@0) → new_esEs12(vwx101, vwx111)
new_primCmpNat0(Zero, Succ(vwx400)) → LT
new_ltEs20(vwx10, vwx11, ty_Double) → new_ltEs14(vwx10, vwx11)
new_esEs7(vwx31, vwx41, ty_Ordering) → new_esEs18(vwx31, vwx41)
new_esEs35(vwx101, vwx111, app(app(app(ty_@3, fd), ff), fg)) → new_esEs23(vwx101, vwx111, fd, ff, fg)
new_esEs36(vwx100, vwx110, ty_Bool) → new_esEs27(vwx100, vwx110)
new_ltEs13(Nothing, Nothing, deb) → True
new_esEs32(vwx302, vwx402, ty_Char) → new_esEs24(vwx302, vwx402)
new_compare27(vwx79, vwx80, vwx81, vwx82, False, cdg, ccg) → new_compare14(vwx79, vwx80, vwx81, vwx82, new_lt19(vwx79, vwx81, cdg), new_asAs(new_esEs31(vwx79, vwx81, cdg), new_ltEs21(vwx80, vwx82, ccg)), cdg, ccg)
new_ltEs21(vwx80, vwx82, ty_Bool) → new_ltEs15(vwx80, vwx82)
new_esEs8(vwx30, vwx40, ty_Char) → new_esEs24(vwx30, vwx40)
new_compare25(vwx66, vwx67, vwx68, vwx69, vwx70, vwx71, False, bgf, bfe, bff) → new_compare110(vwx66, vwx67, vwx68, vwx69, vwx70, vwx71, new_lt22(vwx66, vwx69, bgf), new_asAs(new_esEs39(vwx66, vwx69, bgf), new_pePe(new_lt23(vwx67, vwx70, bfe), new_asAs(new_esEs38(vwx67, vwx70, bfe), new_ltEs24(vwx68, vwx71, bff)))), bgf, bfe, bff)
new_esEs38(vwx67, vwx70, ty_Int) → new_esEs16(vwx67, vwx70)
new_esEs32(vwx302, vwx402, ty_Double) → new_esEs22(vwx302, vwx402)
new_esEs29(vwx301, vwx401, app(app(ty_@2, eah), eba)) → new_esEs25(vwx301, vwx401, eah, eba)
new_esEs8(vwx30, vwx40, ty_Float) → new_esEs20(vwx30, vwx40)
new_lt11(vwx66, vwx69) → new_esEs18(new_compare18(vwx66, vwx69), LT)
new_lt21(vwx101, vwx111, app(app(ty_@2, gb), gc)) → new_lt17(vwx101, vwx111, gb, gc)
new_lt6(vwx100, vwx110, ty_Char) → new_lt18(vwx100, vwx110)
new_esEs10(vwx31, vwx41, ty_Integer) → new_esEs17(vwx31, vwx41)
new_esEs21(Left(vwx300), Left(vwx400), app(app(ty_Either, fad), fae), cgf) → new_esEs21(vwx300, vwx400, fad, fae)
new_compare31(Right(vwx30), Right(vwx40), hg, hh) → new_compare24(vwx30, vwx40, new_esEs5(vwx30, vwx40, hh), hg, hh)
new_esEs29(vwx301, vwx401, ty_Bool) → new_esEs27(vwx301, vwx401)
new_esEs30(vwx300, vwx400, ty_@0) → new_esEs12(vwx300, vwx400)
new_lt21(vwx101, vwx111, ty_Bool) → new_lt15(vwx101, vwx111)
new_pePe(True, vwx158) → True
new_esEs19(Just(vwx300), Just(vwx400), ty_Double) → new_esEs22(vwx300, vwx400)
new_ltEs4(vwx17, vwx18, ty_Float) → new_ltEs11(vwx17, vwx18)
new_primEqNat0(Zero, Zero) → True
new_lt6(vwx100, vwx110, ty_Bool) → new_lt15(vwx100, vwx110)
new_esEs9(vwx30, vwx40, app(app(app(ty_@3, deg), deh), dfa)) → new_esEs23(vwx30, vwx40, deg, deh, dfa)
new_esEs11(vwx30, vwx40, app(app(ty_Either, fee), fef)) → new_esEs21(vwx30, vwx40, fee, fef)
new_esEs26(:(vwx300, vwx301), :(vwx400, vwx401), chd) → new_asAs(new_esEs37(vwx300, vwx400, chd), new_esEs26(vwx301, vwx401, chd))
new_esEs33(vwx301, vwx401, ty_Ordering) → new_esEs18(vwx301, vwx401)
new_esEs6(vwx32, vwx42, ty_Float) → new_esEs20(vwx32, vwx42)
new_esEs10(vwx31, vwx41, app(app(ty_Either, ehb), ehc)) → new_esEs21(vwx31, vwx41, ehb, ehc)
new_ltEs7(Right(vwx100), Right(vwx110), cc, ty_Double) → new_ltEs14(vwx100, vwx110)
new_primMulNat0(Succ(vwx4000), Succ(vwx3100)) → new_primPlusNat1(new_primMulNat0(vwx4000, Succ(vwx3100)), vwx3100)
new_esEs30(vwx300, vwx400, app(app(app(ty_@3, ebg), ebh), eca)) → new_esEs23(vwx300, vwx400, ebg, ebh, eca)
new_compare32(Nothing, Nothing, cba) → EQ
new_lt7(vwx66, vwx69) → new_esEs18(new_compare13(vwx66, vwx69), LT)
new_ltEs17(@2(vwx100, vwx101), @2(vwx110, vwx111), bcf, bbf) → new_pePe(new_lt6(vwx100, vwx110, bcf), new_asAs(new_esEs28(vwx100, vwx110, bcf), new_ltEs19(vwx101, vwx111, bbf)))
new_lt5(vwx66, vwx69, dbc) → new_esEs18(new_compare8(vwx66, vwx69, dbc), LT)
new_esEs6(vwx32, vwx42, app(app(ty_Either, dbg), dbh)) → new_esEs21(vwx32, vwx42, dbg, dbh)
new_esEs37(vwx300, vwx400, ty_Float) → new_esEs20(vwx300, vwx400)
new_esEs6(vwx32, vwx42, ty_@0) → new_esEs12(vwx32, vwx42)
new_esEs21(Right(vwx300), Right(vwx400), cge, ty_@0) → new_esEs12(vwx300, vwx400)
new_esEs19(Just(vwx300), Just(vwx400), ty_Integer) → new_esEs17(vwx300, vwx400)
new_lt20(vwx100, vwx110, ty_Integer) → new_lt7(vwx100, vwx110)
new_ltEs4(vwx17, vwx18, ty_Ordering) → new_ltEs16(vwx17, vwx18)
new_esEs33(vwx301, vwx401, ty_Int) → new_esEs16(vwx301, vwx401)
new_ltEs16(EQ, LT) → False
new_esEs35(vwx101, vwx111, ty_Integer) → new_esEs17(vwx101, vwx111)
new_esEs35(vwx101, vwx111, app(app(ty_Either, fb), fc)) → new_esEs21(vwx101, vwx111, fb, fc)
new_ltEs16(GT, EQ) → False
new_esEs38(vwx67, vwx70, app(ty_Ratio, fhb)) → new_esEs13(vwx67, vwx70, fhb)
new_compare24(vwx17, vwx18, False, cfa, dba) → new_compare11(vwx17, vwx18, new_ltEs4(vwx17, vwx18, dba), cfa, dba)
new_esEs21(Right(vwx300), Right(vwx400), cge, ty_Int) → new_esEs16(vwx300, vwx400)
new_esEs8(vwx30, vwx40, app(ty_Maybe, chg)) → new_esEs19(vwx30, vwx40, chg)
new_compare30(vwx30, vwx40, ty_Bool) → new_compare29(vwx30, vwx40)
new_ltEs7(Left(vwx100), Left(vwx110), ty_Char, bc) → new_ltEs18(vwx100, vwx110)
new_compare10(vwx146, vwx147, vwx148, vwx149, False, che, chf) → GT
new_esEs31(vwx79, vwx81, ty_Char) → new_esEs24(vwx79, vwx81)
new_lt9(vwx66, vwx69, he, hf) → new_esEs18(new_compare31(vwx66, vwx69, he, hf), LT)
new_esEs4(vwx30, vwx40, ty_@0) → new_esEs12(vwx30, vwx40)
new_esEs34(vwx300, vwx400, ty_Integer) → new_esEs17(vwx300, vwx400)
new_compare14(vwx146, vwx147, vwx148, vwx149, True, vwx151, che, chf) → new_compare10(vwx146, vwx147, vwx148, vwx149, True, che, chf)
new_esEs33(vwx301, vwx401, ty_Double) → new_esEs22(vwx301, vwx401)
new_esEs21(Right(vwx300), Right(vwx400), cge, ty_Double) → new_esEs22(vwx300, vwx400)
new_ltEs20(vwx10, vwx11, ty_@0) → new_ltEs6(vwx10, vwx11)
new_esEs31(vwx79, vwx81, app(app(app(ty_@3, cch), cda), cdb)) → new_esEs23(vwx79, vwx81, cch, cda, cdb)
new_esEs4(vwx30, vwx40, ty_Ordering) → new_esEs18(vwx30, vwx40)
new_ltEs19(vwx101, vwx111, ty_Bool) → new_ltEs15(vwx101, vwx111)
new_esEs21(Right(vwx300), Right(vwx400), cge, app(ty_[], fce)) → new_esEs26(vwx300, vwx400, fce)
new_compare14(vwx146, vwx147, vwx148, vwx149, False, vwx151, che, chf) → new_compare10(vwx146, vwx147, vwx148, vwx149, vwx151, che, chf)
new_ltEs24(vwx68, vwx71, ty_Char) → new_ltEs18(vwx68, vwx71)
new_esEs18(GT, EQ) → False
new_esEs18(EQ, GT) → False
new_compare34(Char(vwx30), Char(vwx40)) → new_primCmpNat0(vwx30, vwx40)
new_ltEs23(vwx102, vwx112, ty_Double) → new_ltEs14(vwx102, vwx112)
new_fsEs(vwx153) → new_not(new_esEs18(vwx153, GT))
new_ltEs23(vwx102, vwx112, app(app(app(ty_@3, gf), gg), gh)) → new_ltEs9(vwx102, vwx112, gf, gg, gh)
new_esEs38(vwx67, vwx70, ty_Char) → new_esEs24(vwx67, vwx70)
new_compare31(Left(vwx30), Right(vwx40), hg, hh) → LT
new_compare30(vwx30, vwx40, ty_Float) → new_compare18(vwx30, vwx40)
new_primEqInt(Neg(Succ(vwx3000)), Neg(Succ(vwx4000))) → new_primEqNat0(vwx3000, vwx4000)
new_ltEs19(vwx101, vwx111, app(app(ty_@2, bdf), bdg)) → new_ltEs17(vwx101, vwx111, bdf, bdg)
new_esEs21(Left(vwx300), Left(vwx400), ty_Bool, cgf) → new_esEs27(vwx300, vwx400)
new_esEs6(vwx32, vwx42, ty_Double) → new_esEs22(vwx32, vwx42)
new_ltEs16(LT, EQ) → True
new_esEs37(vwx300, vwx400, app(app(app(ty_@3, fga), fgb), fgc)) → new_esEs23(vwx300, vwx400, fga, fgb, fgc)
new_esEs37(vwx300, vwx400, ty_Bool) → new_esEs27(vwx300, vwx400)
new_compare16(vwx116, vwx117, True, dfh) → LT
new_ltEs21(vwx80, vwx82, ty_Integer) → new_ltEs5(vwx80, vwx82)
new_ltEs19(vwx101, vwx111, app(app(app(ty_@3, bda), bdb), bdc)) → new_ltEs9(vwx101, vwx111, bda, bdb, bdc)
new_ltEs20(vwx10, vwx11, app(app(app(ty_@3, fa), dh), ea)) → new_ltEs9(vwx10, vwx11, fa, dh, ea)
new_esEs10(vwx31, vwx41, ty_Char) → new_esEs24(vwx31, vwx41)
new_esEs34(vwx300, vwx400, ty_Char) → new_esEs24(vwx300, vwx400)
new_compare32(Just(vwx30), Nothing, cba) → GT
new_esEs31(vwx79, vwx81, ty_Double) → new_esEs22(vwx79, vwx81)
new_ltEs7(Left(vwx100), Left(vwx110), ty_Int, bc) → new_ltEs10(vwx100, vwx110)
new_esEs5(vwx30, vwx40, ty_@0) → new_esEs12(vwx30, vwx40)
new_esEs7(vwx31, vwx41, app(app(app(ty_@3, ddc), ddd), dde)) → new_esEs23(vwx31, vwx41, ddc, ddd, dde)
new_ltEs13(Just(vwx100), Just(vwx110), ty_Float) → new_ltEs11(vwx100, vwx110)
new_esEs7(vwx31, vwx41, app(app(ty_@2, ddf), ddg)) → new_esEs25(vwx31, vwx41, ddf, ddg)
new_esEs16(vwx30, vwx40) → new_primEqInt(vwx30, vwx40)
new_esEs35(vwx101, vwx111, app(app(ty_@2, gb), gc)) → new_esEs25(vwx101, vwx111, gb, gc)
new_esEs4(vwx30, vwx40, ty_Char) → new_esEs24(vwx30, vwx40)
new_esEs21(Right(vwx300), Right(vwx400), cge, app(app(app(ty_@3, fbh), fca), fcb)) → new_esEs23(vwx300, vwx400, fbh, fca, fcb)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs28(vwx100, vwx110, ty_Float) → new_esEs20(vwx100, vwx110)
new_esEs33(vwx301, vwx401, app(ty_Ratio, efe)) → new_esEs13(vwx301, vwx401, efe)
new_ltEs7(Right(vwx100), Left(vwx110), cc, bc) → False
new_compare9(Double(vwx30, vwx31), Double(vwx40, vwx41)) → new_compare12(new_sr0(vwx30, vwx40), new_sr0(vwx31, vwx41))
new_ltEs19(vwx101, vwx111, app(ty_Ratio, dbe)) → new_ltEs8(vwx101, vwx111, dbe)
new_ltEs7(Left(vwx100), Left(vwx110), ty_Bool, bc) → new_ltEs15(vwx100, vwx110)
new_lt22(vwx66, vwx69, app(app(ty_Either, he), hf)) → new_lt9(vwx66, vwx69, he, hf)
new_ltEs21(vwx80, vwx82, app(app(ty_Either, cdh), cea)) → new_ltEs7(vwx80, vwx82, cdh, cea)
new_esEs29(vwx301, vwx401, ty_Char) → new_esEs24(vwx301, vwx401)
new_esEs8(vwx30, vwx40, app(ty_Ratio, dah)) → new_esEs13(vwx30, vwx40, dah)
new_esEs28(vwx100, vwx110, ty_Int) → new_esEs16(vwx100, vwx110)
new_esEs5(vwx30, vwx40, app(app(ty_@2, fde), fdf)) → new_esEs25(vwx30, vwx40, fde, fdf)
new_ltEs7(Right(vwx100), Right(vwx110), cc, ty_@0) → new_ltEs6(vwx100, vwx110)
new_esEs35(vwx101, vwx111, ty_Ordering) → new_esEs18(vwx101, vwx111)
new_primEqInt(Neg(Succ(vwx3000)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(vwx4000))) → False
new_primCompAux0(vwx38, GT) → GT
new_compare30(vwx30, vwx40, app(app(app(ty_@3, bec), bed), bee)) → new_compare6(vwx30, vwx40, bec, bed, bee)
new_esEs37(vwx300, vwx400, ty_@0) → new_esEs12(vwx300, vwx400)
new_ltEs21(vwx80, vwx82, ty_Int) → new_ltEs10(vwx80, vwx82)
new_esEs33(vwx301, vwx401, ty_Integer) → new_esEs17(vwx301, vwx401)
new_compare26(vwx10, vwx11, True, dff, baa) → EQ
new_primPlusNat1(Zero, vwx3100) → Succ(vwx3100)
new_compare32(Nothing, Just(vwx40), cba) → LT
new_esEs7(vwx31, vwx41, app(ty_Ratio, dea)) → new_esEs13(vwx31, vwx41, dea)
new_esEs19(Just(vwx300), Just(vwx400), app(ty_Maybe, dge)) → new_esEs19(vwx300, vwx400, dge)
new_compare24(vwx17, vwx18, True, cfa, dba) → EQ
new_esEs28(vwx100, vwx110, ty_Char) → new_esEs24(vwx100, vwx110)
new_esEs30(vwx300, vwx400, app(ty_[], ecd)) → new_esEs26(vwx300, vwx400, ecd)
new_esEs21(Right(vwx300), Right(vwx400), cge, app(ty_Ratio, fcf)) → new_esEs13(vwx300, vwx400, fcf)
new_ltEs13(Just(vwx100), Just(vwx110), app(app(ty_@2, bbb), bbc)) → new_ltEs17(vwx100, vwx110, bbb, bbc)
new_esEs5(vwx30, vwx40, ty_Integer) → new_esEs17(vwx30, vwx40)
new_lt19(vwx79, vwx81, ty_Float) → new_lt11(vwx79, vwx81)
new_esEs4(vwx30, vwx40, app(app(ty_@2, chb), chc)) → new_esEs25(vwx30, vwx40, chb, chc)
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_lt18(vwx66, vwx69) → new_esEs18(new_compare34(vwx66, vwx69), LT)
new_lt19(vwx79, vwx81, ty_Ordering) → new_lt16(vwx79, vwx81)
new_ltEs16(GT, LT) → False
new_esEs10(vwx31, vwx41, ty_Bool) → new_esEs27(vwx31, vwx41)
new_esEs11(vwx30, vwx40, app(app(app(ty_@3, feg), feh), ffa)) → new_esEs23(vwx30, vwx40, feg, feh, ffa)
new_compare26(vwx10, vwx11, False, dff, baa) → new_compare15(vwx10, vwx11, new_ltEs20(vwx10, vwx11, dff), dff, baa)
new_primCmpNat0(Succ(vwx300), Succ(vwx400)) → new_primCmpNat0(vwx300, vwx400)
new_esEs33(vwx301, vwx401, ty_@0) → new_esEs12(vwx301, vwx401)
new_compare30(vwx30, vwx40, ty_Int) → new_compare12(vwx30, vwx40)
new_lt21(vwx101, vwx111, app(ty_Ratio, feb)) → new_lt5(vwx101, vwx111, feb)
new_esEs33(vwx301, vwx401, app(app(ty_Either, eee), eef)) → new_esEs21(vwx301, vwx401, eee, eef)
new_primEqInt(Pos(Succ(vwx3000)), Pos(Succ(vwx4000))) → new_primEqNat0(vwx3000, vwx4000)
new_esEs11(vwx30, vwx40, ty_Char) → new_esEs24(vwx30, vwx40)
new_esEs30(vwx300, vwx400, ty_Float) → new_esEs20(vwx300, vwx400)
new_esEs34(vwx300, vwx400, app(ty_Ratio, egg)) → new_esEs13(vwx300, vwx400, egg)
new_lt20(vwx100, vwx110, app(ty_[], ee)) → new_lt12(vwx100, vwx110, ee)
new_esEs27(False, False) → True
new_lt22(vwx66, vwx69, ty_Char) → new_lt18(vwx66, vwx69)
new_lt19(vwx79, vwx81, app(app(app(ty_@3, cch), cda), cdb)) → new_lt4(vwx79, vwx81, cch, cda, cdb)
new_lt10(vwx66, vwx69) → new_esEs18(new_compare12(vwx66, vwx69), LT)
new_ltEs21(vwx80, vwx82, ty_Float) → new_ltEs11(vwx80, vwx82)
new_esEs21(Left(vwx300), Left(vwx400), ty_Double, cgf) → new_esEs22(vwx300, vwx400)
new_esEs30(vwx300, vwx400, ty_Int) → new_esEs16(vwx300, vwx400)
new_esEs29(vwx301, vwx401, app(ty_[], ebb)) → new_esEs26(vwx301, vwx401, ebb)
new_esEs8(vwx30, vwx40, ty_Ordering) → new_esEs18(vwx30, vwx40)
new_ltEs24(vwx68, vwx71, ty_Float) → new_ltEs11(vwx68, vwx71)
new_esEs5(vwx30, vwx40, app(app(ty_Either, fch), fda)) → new_esEs21(vwx30, vwx40, fch, fda)
new_ltEs24(vwx68, vwx71, app(app(app(ty_@3, cab), cac), cad)) → new_ltEs9(vwx68, vwx71, cab, cac, cad)
new_ltEs24(vwx68, vwx71, ty_Int) → new_ltEs10(vwx68, vwx71)
new_ltEs21(vwx80, vwx82, ty_Char) → new_ltEs18(vwx80, vwx82)
new_primEqNat0(Succ(vwx3000), Succ(vwx4000)) → new_primEqNat0(vwx3000, vwx4000)
new_compare7(@0, @0) → EQ
new_ltEs23(vwx102, vwx112, ty_Char) → new_ltEs18(vwx102, vwx112)
new_compare8(:%(vwx30, vwx31), :%(vwx40, vwx41), ty_Integer) → new_compare13(new_sr(vwx30, vwx41), new_sr(vwx40, vwx31))
new_esEs11(vwx30, vwx40, app(ty_[], ffd)) → new_esEs26(vwx30, vwx40, ffd)
new_esEs29(vwx301, vwx401, ty_@0) → new_esEs12(vwx301, vwx401)
new_ltEs19(vwx101, vwx111, ty_Double) → new_ltEs14(vwx101, vwx111)
new_esEs30(vwx300, vwx400, ty_Double) → new_esEs22(vwx300, vwx400)
new_esEs5(vwx30, vwx40, ty_Ordering) → new_esEs18(vwx30, vwx40)
new_ltEs13(Just(vwx100), Just(vwx110), ty_@0) → new_ltEs6(vwx100, vwx110)
new_esEs28(vwx100, vwx110, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs23(vwx100, vwx110, bbg, bbh, bca)
new_esEs31(vwx79, vwx81, ty_Ordering) → new_esEs18(vwx79, vwx81)
new_esEs10(vwx31, vwx41, app(app(ty_@2, ehg), ehh)) → new_esEs25(vwx31, vwx41, ehg, ehh)
new_primCmpInt(Neg(Succ(vwx300)), Neg(vwx40)) → new_primCmpNat0(vwx40, Succ(vwx300))
new_ltEs19(vwx101, vwx111, app(app(ty_Either, bcg), bch)) → new_ltEs7(vwx101, vwx111, bcg, bch)
new_esEs10(vwx31, vwx41, app(ty_[], faa)) → new_esEs26(vwx31, vwx41, faa)
new_compare16(vwx116, vwx117, False, dfh) → GT
new_lt21(vwx101, vwx111, app(app(ty_Either, fb), fc)) → new_lt9(vwx101, vwx111, fb, fc)
new_ltEs21(vwx80, vwx82, app(ty_Ratio, ecg)) → new_ltEs8(vwx80, vwx82, ecg)
new_esEs35(vwx101, vwx111, ty_Float) → new_esEs20(vwx101, vwx111)
new_lt20(vwx100, vwx110, app(ty_Ratio, fea)) → new_lt5(vwx100, vwx110, fea)
new_primEqInt(Pos(Succ(vwx3000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(vwx4000))) → False
new_lt17(vwx66, vwx69, bgd, bge) → new_esEs18(new_compare19(vwx66, vwx69, bgd, bge), LT)
new_esEs30(vwx300, vwx400, ty_Ordering) → new_esEs18(vwx300, vwx400)
new_lt20(vwx100, vwx110, ty_Char) → new_lt18(vwx100, vwx110)
new_primPlusNat0(Succ(vwx15900), Zero) → Succ(vwx15900)
new_primPlusNat0(Zero, Succ(vwx31000)) → Succ(vwx31000)
new_esEs37(vwx300, vwx400, ty_Ordering) → new_esEs18(vwx300, vwx400)
new_esEs30(vwx300, vwx400, app(app(ty_Either, ebe), ebf)) → new_esEs21(vwx300, vwx400, ebe, ebf)
new_esEs32(vwx302, vwx402, app(app(ty_Either, edc), edd)) → new_esEs21(vwx302, vwx402, edc, edd)
new_esEs5(vwx30, vwx40, app(ty_Ratio, fdh)) → new_esEs13(vwx30, vwx40, fdh)
new_compare25(vwx66, vwx67, vwx68, vwx69, vwx70, vwx71, True, bgf, bfe, bff) → EQ
new_primCmpNat0(Zero, Zero) → EQ
new_ltEs21(vwx80, vwx82, ty_Double) → new_ltEs14(vwx80, vwx82)
new_primCmpNat0(Succ(vwx300), Zero) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(vwx400))) → LT
new_compare11(vwx102, vwx103, True, fgh, fha) → LT
new_ltEs21(vwx80, vwx82, ty_Ordering) → new_ltEs16(vwx80, vwx82)
new_esEs21(Left(vwx300), Right(vwx400), cge, cgf) → False
new_esEs21(Right(vwx300), Left(vwx400), cge, cgf) → False
new_lt4(vwx66, vwx69, bfg, bfh, bga) → new_esEs18(new_compare6(vwx66, vwx69, bfg, bfh, bga), LT)
new_esEs11(vwx30, vwx40, ty_@0) → new_esEs12(vwx30, vwx40)
new_esEs9(vwx30, vwx40, app(app(ty_Either, dee), def)) → new_esEs21(vwx30, vwx40, dee, def)
new_esEs34(vwx300, vwx400, ty_Int) → new_esEs16(vwx300, vwx400)
new_esEs21(Right(vwx300), Right(vwx400), cge, ty_Bool) → new_esEs27(vwx300, vwx400)
new_compare19(@2(vwx30, vwx31), @2(vwx40, vwx41), ccc, ccd) → new_compare27(vwx30, vwx31, vwx40, vwx41, new_asAs(new_esEs11(vwx30, vwx40, ccc), new_esEs10(vwx31, vwx41, ccd)), ccc, ccd)
new_primEqInt(Pos(Succ(vwx3000)), Neg(vwx400)) → False
new_primEqInt(Neg(Succ(vwx3000)), Pos(vwx400)) → False
new_lt23(vwx67, vwx70, app(ty_Maybe, bhe)) → new_lt13(vwx67, vwx70, bhe)
new_ltEs23(vwx102, vwx112, app(app(ty_Either, gd), ge)) → new_ltEs7(vwx102, vwx112, gd, ge)
new_esEs35(vwx101, vwx111, ty_Int) → new_esEs16(vwx101, vwx111)
new_esEs33(vwx301, vwx401, ty_Float) → new_esEs20(vwx301, vwx401)
new_ltEs22(vwx44, vwx45, app(ty_Ratio, eda)) → new_ltEs8(vwx44, vwx45, eda)
new_ltEs22(vwx44, vwx45, app(app(ty_Either, cbb), cbc)) → new_ltEs7(vwx44, vwx45, cbb, cbc)
new_esEs22(Double(vwx300, vwx301), Double(vwx400, vwx401)) → new_esEs16(new_sr0(vwx300, vwx400), new_sr0(vwx301, vwx401))
new_esEs11(vwx30, vwx40, app(app(ty_@2, ffb), ffc)) → new_esEs25(vwx30, vwx40, ffb, ffc)
new_ltEs18(vwx10, vwx11) → new_fsEs(new_compare34(vwx10, vwx11))
new_esEs39(vwx66, vwx69, ty_Float) → new_esEs20(vwx66, vwx69)
new_lt12(vwx66, vwx69, bgb) → new_esEs18(new_compare1(vwx66, vwx69, bgb), LT)
new_esEs34(vwx300, vwx400, ty_Float) → new_esEs20(vwx300, vwx400)
new_lt21(vwx101, vwx111, ty_Char) → new_lt18(vwx101, vwx111)
new_compare12(vwx3, vwx4) → new_primCmpInt(vwx3, vwx4)
new_esEs31(vwx79, vwx81, ty_Integer) → new_esEs17(vwx79, vwx81)
new_ltEs23(vwx102, vwx112, ty_@0) → new_ltEs6(vwx102, vwx112)
new_primEqInt(Pos(Zero), Neg(Succ(vwx4000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(vwx4000))) → False
new_esEs15(vwx300, vwx400, ty_Int) → new_esEs16(vwx300, vwx400)
new_lt19(vwx79, vwx81, ty_Char) → new_lt18(vwx79, vwx81)
new_primCmpInt(Pos(Zero), Pos(Succ(vwx400))) → new_primCmpNat0(Zero, Succ(vwx400))
new_esEs10(vwx31, vwx41, ty_Int) → new_esEs16(vwx31, vwx41)
new_esEs21(Right(vwx300), Right(vwx400), cge, ty_Ordering) → new_esEs18(vwx300, vwx400)
new_esEs7(vwx31, vwx41, ty_Bool) → new_esEs27(vwx31, vwx41)
new_esEs36(vwx100, vwx110, app(ty_Maybe, ef)) → new_esEs19(vwx100, vwx110, ef)
new_esEs7(vwx31, vwx41, app(ty_[], ddh)) → new_esEs26(vwx31, vwx41, ddh)
new_ltEs16(EQ, EQ) → True
new_esEs21(Left(vwx300), Left(vwx400), ty_@0, cgf) → new_esEs12(vwx300, vwx400)
new_compare29(True, True) → EQ
new_ltEs7(Left(vwx100), Left(vwx110), ty_Float, bc) → new_ltEs11(vwx100, vwx110)
new_esEs28(vwx100, vwx110, app(ty_Maybe, bcc)) → new_esEs19(vwx100, vwx110, bcc)
new_compare33(LT, EQ) → LT
new_esEs9(vwx30, vwx40, ty_Integer) → new_esEs17(vwx30, vwx40)
new_esEs21(Left(vwx300), Left(vwx400), ty_Ordering, cgf) → new_esEs18(vwx300, vwx400)
new_ltEs13(Just(vwx100), Just(vwx110), ty_Double) → new_ltEs14(vwx100, vwx110)
new_esEs21(Left(vwx300), Left(vwx400), ty_Int, cgf) → new_esEs16(vwx300, vwx400)
new_ltEs5(vwx10, vwx11) → new_fsEs(new_compare13(vwx10, vwx11))
new_esEs14(vwx301, vwx401, ty_Integer) → new_esEs17(vwx301, vwx401)
new_primCompAux0(vwx38, LT) → LT
new_lt6(vwx100, vwx110, app(app(ty_@2, bcd), bce)) → new_lt17(vwx100, vwx110, bcd, bce)
new_esEs5(vwx30, vwx40, ty_Bool) → new_esEs27(vwx30, vwx40)
new_not(False) → True
new_esEs5(vwx30, vwx40, ty_Float) → new_esEs20(vwx30, vwx40)
new_lt20(vwx100, vwx110, ty_Bool) → new_lt15(vwx100, vwx110)
new_primCmpInt(Pos(Succ(vwx300)), Pos(vwx40)) → new_primCmpNat0(Succ(vwx300), vwx40)
new_lt21(vwx101, vwx111, app(ty_[], fh)) → new_lt12(vwx101, vwx111, fh)
new_esEs36(vwx100, vwx110, ty_Float) → new_esEs20(vwx100, vwx110)
new_lt6(vwx100, vwx110, ty_Int) → new_lt10(vwx100, vwx110)
new_lt6(vwx100, vwx110, app(app(app(ty_@3, bbg), bbh), bca)) → new_lt4(vwx100, vwx110, bbg, bbh, bca)
new_esEs8(vwx30, vwx40, app(app(app(ty_@3, dab), dac), dad)) → new_esEs23(vwx30, vwx40, dab, dac, dad)
new_esEs38(vwx67, vwx70, ty_Float) → new_esEs20(vwx67, vwx70)
new_esEs37(vwx300, vwx400, ty_Double) → new_esEs22(vwx300, vwx400)
new_ltEs19(vwx101, vwx111, app(ty_[], bdd)) → new_ltEs12(vwx101, vwx111, bdd)
new_esEs39(vwx66, vwx69, app(app(ty_@2, bgd), bge)) → new_esEs25(vwx66, vwx69, bgd, bge)
new_ltEs4(vwx17, vwx18, app(app(ty_Either, cfb), cfc)) → new_ltEs7(vwx17, vwx18, cfb, cfc)
new_esEs36(vwx100, vwx110, ty_Integer) → new_esEs17(vwx100, vwx110)
new_esEs36(vwx100, vwx110, ty_Int) → new_esEs16(vwx100, vwx110)
new_esEs21(Left(vwx300), Left(vwx400), app(ty_Maybe, fac), cgf) → new_esEs19(vwx300, vwx400, fac)
new_lt22(vwx66, vwx69, app(ty_Ratio, dbc)) → new_lt5(vwx66, vwx69, dbc)
new_esEs9(vwx30, vwx40, ty_Int) → new_esEs16(vwx30, vwx40)
new_lt22(vwx66, vwx69, ty_Double) → new_lt14(vwx66, vwx69)
new_esEs6(vwx32, vwx42, ty_Int) → new_esEs16(vwx32, vwx42)
new_ltEs7(Right(vwx100), Right(vwx110), cc, ty_Int) → new_ltEs10(vwx100, vwx110)
new_lt22(vwx66, vwx69, ty_Integer) → new_lt7(vwx66, vwx69)
new_lt22(vwx66, vwx69, ty_Ordering) → new_lt16(vwx66, vwx69)
new_ltEs7(Right(vwx100), Right(vwx110), cc, app(ty_Maybe, dc)) → new_ltEs13(vwx100, vwx110, dc)
new_ltEs7(Right(vwx100), Right(vwx110), cc, app(ty_[], db)) → new_ltEs12(vwx100, vwx110, db)
new_compare30(vwx30, vwx40, ty_Double) → new_compare9(vwx30, vwx40)
new_compare30(vwx30, vwx40, app(app(ty_Either, bea), beb)) → new_compare31(vwx30, vwx40, bea, beb)
new_esEs6(vwx32, vwx42, ty_Ordering) → new_esEs18(vwx32, vwx42)
new_lt23(vwx67, vwx70, app(ty_Ratio, fhb)) → new_lt5(vwx67, vwx70, fhb)
new_esEs18(GT, GT) → True
new_ltEs4(vwx17, vwx18, ty_Integer) → new_ltEs5(vwx17, vwx18)
new_compare110(vwx131, vwx132, vwx133, vwx134, vwx135, vwx136, False, vwx138, dhg, dhh, eaa) → new_compare17(vwx131, vwx132, vwx133, vwx134, vwx135, vwx136, vwx138, dhg, dhh, eaa)
new_esEs39(vwx66, vwx69, app(app(ty_Either, he), hf)) → new_esEs21(vwx66, vwx69, he, hf)
new_esEs9(vwx30, vwx40, app(ty_[], dfd)) → new_esEs26(vwx30, vwx40, dfd)
new_compare11(vwx102, vwx103, False, fgh, fha) → GT
new_primCmpInt(Pos(Succ(vwx300)), Neg(vwx40)) → GT
new_lt23(vwx67, vwx70, app(ty_[], bhd)) → new_lt12(vwx67, vwx70, bhd)
new_esEs6(vwx32, vwx42, ty_Bool) → new_esEs27(vwx32, vwx42)
new_esEs34(vwx300, vwx400, app(ty_Maybe, eff)) → new_esEs19(vwx300, vwx400, eff)
new_lt6(vwx100, vwx110, ty_Integer) → new_lt7(vwx100, vwx110)
new_esEs19(Just(vwx300), Just(vwx400), ty_Float) → new_esEs20(vwx300, vwx400)
new_esEs28(vwx100, vwx110, ty_Bool) → new_esEs27(vwx100, vwx110)
new_esEs26(:(vwx300, vwx301), [], chd) → False
new_esEs26([], :(vwx400, vwx401), chd) → False
new_esEs21(Right(vwx300), Right(vwx400), cge, app(ty_Maybe, fbe)) → new_esEs19(vwx300, vwx400, fbe)
new_primMulInt(Pos(vwx400), Pos(vwx310)) → Pos(new_primMulNat0(vwx400, vwx310))
new_ltEs13(Just(vwx100), Just(vwx110), ty_Char) → new_ltEs18(vwx100, vwx110)
new_esEs7(vwx31, vwx41, app(app(ty_Either, dda), ddb)) → new_esEs21(vwx31, vwx41, dda, ddb)
new_ltEs24(vwx68, vwx71, ty_Integer) → new_ltEs5(vwx68, vwx71)
new_lt21(vwx101, vwx111, ty_Int) → new_lt10(vwx101, vwx111)
new_primMulInt(Neg(vwx400), Neg(vwx310)) → Pos(new_primMulNat0(vwx400, vwx310))
new_esEs24(Char(vwx300), Char(vwx400)) → new_primEqNat0(vwx300, vwx400)
new_esEs9(vwx30, vwx40, app(ty_Ratio, dfe)) → new_esEs13(vwx30, vwx40, dfe)
new_ltEs7(Right(vwx100), Right(vwx110), cc, ty_Integer) → new_ltEs5(vwx100, vwx110)
new_primEqNat0(Succ(vwx3000), Zero) → False
new_primEqNat0(Zero, Succ(vwx4000)) → False
new_ltEs24(vwx68, vwx71, ty_Double) → new_ltEs14(vwx68, vwx71)
new_esEs10(vwx31, vwx41, app(app(app(ty_@3, ehd), ehe), ehf)) → new_esEs23(vwx31, vwx41, ehd, ehe, ehf)
new_ltEs23(vwx102, vwx112, ty_Int) → new_ltEs10(vwx102, vwx112)
new_primPlusNat0(Zero, Zero) → Zero
new_ltEs23(vwx102, vwx112, ty_Integer) → new_ltEs5(vwx102, vwx112)
new_esEs39(vwx66, vwx69, ty_Ordering) → new_esEs18(vwx66, vwx69)
new_ltEs19(vwx101, vwx111, ty_@0) → new_ltEs6(vwx101, vwx111)
new_ltEs7(Left(vwx100), Left(vwx110), app(app(ty_Either, ba), bb), bc) → new_ltEs7(vwx100, vwx110, ba, bb)
new_esEs19(Just(vwx300), Just(vwx400), ty_Char) → new_esEs24(vwx300, vwx400)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs11(vwx30, vwx40, ty_Int) → new_esEs16(vwx30, vwx40)
new_esEs38(vwx67, vwx70, ty_Double) → new_esEs22(vwx67, vwx70)
new_ltEs24(vwx68, vwx71, app(app(ty_Either, bhh), caa)) → new_ltEs7(vwx68, vwx71, bhh, caa)
new_esEs11(vwx30, vwx40, ty_Float) → new_esEs20(vwx30, vwx40)
new_lt6(vwx100, vwx110, app(app(ty_Either, bbd), bbe)) → new_lt9(vwx100, vwx110, bbd, bbe)
new_ltEs13(Just(vwx100), Just(vwx110), app(app(ty_Either, bac), bad)) → new_ltEs7(vwx100, vwx110, bac, bad)
new_ltEs13(Just(vwx100), Just(vwx110), app(ty_Ratio, dec)) → new_ltEs8(vwx100, vwx110, dec)
new_esEs33(vwx301, vwx401, ty_Bool) → new_esEs27(vwx301, vwx401)
new_lt19(vwx79, vwx81, app(ty_Ratio, ecf)) → new_lt5(vwx79, vwx81, ecf)
new_lt21(vwx101, vwx111, ty_Float) → new_lt11(vwx101, vwx111)
new_esEs27(True, True) → True
new_ltEs24(vwx68, vwx71, ty_Ordering) → new_ltEs16(vwx68, vwx71)
new_lt19(vwx79, vwx81, ty_Int) → new_lt10(vwx79, vwx81)
new_ltEs20(vwx10, vwx11, ty_Ordering) → new_ltEs16(vwx10, vwx11)
new_esEs7(vwx31, vwx41, ty_Char) → new_esEs24(vwx31, vwx41)
new_ltEs20(vwx10, vwx11, app(ty_Ratio, dfg)) → new_ltEs8(vwx10, vwx11, dfg)
new_esEs28(vwx100, vwx110, app(ty_[], bcb)) → new_esEs26(vwx100, vwx110, bcb)
new_compare30(vwx30, vwx40, ty_Ordering) → new_compare33(vwx30, vwx40)
new_primPlusNat1(Succ(vwx1590), vwx3100) → Succ(Succ(new_primPlusNat0(vwx1590, vwx3100)))
new_ltEs4(vwx17, vwx18, ty_Char) → new_ltEs18(vwx17, vwx18)
new_esEs5(vwx30, vwx40, ty_Char) → new_esEs24(vwx30, vwx40)
new_lt13(vwx66, vwx69, bgc) → new_esEs18(new_compare32(vwx66, vwx69, bgc), LT)
new_ltEs24(vwx68, vwx71, app(ty_Maybe, caf)) → new_ltEs13(vwx68, vwx71, caf)
new_esEs29(vwx301, vwx401, ty_Double) → new_esEs22(vwx301, vwx401)
new_esEs11(vwx30, vwx40, ty_Bool) → new_esEs27(vwx30, vwx40)
new_ltEs13(Just(vwx100), Just(vwx110), ty_Int) → new_ltEs10(vwx100, vwx110)
new_esEs19(Just(vwx300), Just(vwx400), ty_Bool) → new_esEs27(vwx300, vwx400)
new_esEs36(vwx100, vwx110, ty_Char) → new_esEs24(vwx100, vwx110)
new_esEs32(vwx302, vwx402, ty_@0) → new_esEs12(vwx302, vwx402)
new_primCmpInt(Neg(Zero), Neg(Succ(vwx400))) → new_primCmpNat0(Succ(vwx400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(vwx400))) → GT
new_lt21(vwx101, vwx111, app(ty_Maybe, ga)) → new_lt13(vwx101, vwx111, ga)
new_ltEs23(vwx102, vwx112, app(ty_[], ha)) → new_ltEs12(vwx102, vwx112, ha)
new_lt19(vwx79, vwx81, ty_Integer) → new_lt7(vwx79, vwx81)
new_esEs4(vwx30, vwx40, app(app(app(ty_@3, cgg), cgh), cha)) → new_esEs23(vwx30, vwx40, cgg, cgh, cha)
new_esEs7(vwx31, vwx41, ty_@0) → new_esEs12(vwx31, vwx41)
new_esEs31(vwx79, vwx81, ty_Float) → new_esEs20(vwx79, vwx81)
new_sr0(vwx40, vwx31) → new_primMulInt(vwx40, vwx31)
new_ltEs22(vwx44, vwx45, app(ty_[], cbg)) → new_ltEs12(vwx44, vwx45, cbg)
new_esEs19(Just(vwx300), Just(vwx400), ty_Ordering) → new_esEs18(vwx300, vwx400)
new_compare15(vwx95, vwx96, False, dga, dgb) → GT
new_esEs31(vwx79, vwx81, ty_Bool) → new_esEs27(vwx79, vwx81)
new_esEs10(vwx31, vwx41, ty_Double) → new_esEs22(vwx31, vwx41)
new_esEs10(vwx31, vwx41, ty_@0) → new_esEs12(vwx31, vwx41)
new_esEs32(vwx302, vwx402, ty_Int) → new_esEs16(vwx302, vwx402)
new_esEs29(vwx301, vwx401, app(ty_Maybe, eab)) → new_esEs19(vwx301, vwx401, eab)
new_esEs30(vwx300, vwx400, ty_Bool) → new_esEs27(vwx300, vwx400)
new_esEs34(vwx300, vwx400, app(app(app(ty_@3, ega), egb), egc)) → new_esEs23(vwx300, vwx400, ega, egb, egc)
new_esEs27(False, True) → False
new_esEs27(True, False) → False
new_esEs10(vwx31, vwx41, app(ty_Maybe, eha)) → new_esEs19(vwx31, vwx41, eha)
new_esEs32(vwx302, vwx402, ty_Ordering) → new_esEs18(vwx302, vwx402)
new_ltEs23(vwx102, vwx112, ty_Ordering) → new_ltEs16(vwx102, vwx112)
new_ltEs13(Just(vwx100), Just(vwx110), ty_Bool) → new_ltEs15(vwx100, vwx110)
new_compare30(vwx30, vwx40, app(app(ty_@2, beh), bfa)) → new_compare19(vwx30, vwx40, beh, bfa)
new_esEs21(Right(vwx300), Right(vwx400), cge, ty_Integer) → new_esEs17(vwx300, vwx400)
new_lt23(vwx67, vwx70, ty_Int) → new_lt10(vwx67, vwx70)
new_esEs21(Left(vwx300), Left(vwx400), app(ty_[], fbc), cgf) → new_esEs26(vwx300, vwx400, fbc)
new_ltEs13(Just(vwx100), Just(vwx110), app(ty_Maybe, bba)) → new_ltEs13(vwx100, vwx110, bba)
new_esEs21(Left(vwx300), Left(vwx400), app(app(ty_@2, fba), fbb), cgf) → new_esEs25(vwx300, vwx400, fba, fbb)
new_ltEs7(Left(vwx100), Left(vwx110), ty_Integer, bc) → new_ltEs5(vwx100, vwx110)
new_esEs33(vwx301, vwx401, app(app(app(ty_@3, eeg), eeh), efa)) → new_esEs23(vwx301, vwx401, eeg, eeh, efa)
new_esEs37(vwx300, vwx400, ty_Integer) → new_esEs17(vwx300, vwx400)
new_ltEs13(Just(vwx100), Just(vwx110), ty_Integer) → new_ltEs5(vwx100, vwx110)
new_esEs39(vwx66, vwx69, ty_Double) → new_esEs22(vwx66, vwx69)
new_esEs32(vwx302, vwx402, ty_Bool) → new_esEs27(vwx302, vwx402)
new_ltEs13(Just(vwx100), Nothing, deb) → False
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_ltEs4(vwx17, vwx18, ty_@0) → new_ltEs6(vwx17, vwx18)
new_esEs21(Left(vwx300), Left(vwx400), app(app(app(ty_@3, faf), fag), fah), cgf) → new_esEs23(vwx300, vwx400, faf, fag, fah)
new_esEs37(vwx300, vwx400, app(ty_[], fgf)) → new_esEs26(vwx300, vwx400, fgf)
new_compare33(GT, LT) → GT
new_ltEs21(vwx80, vwx82, app(app(app(ty_@3, ceb), cec), ced)) → new_ltEs9(vwx80, vwx82, ceb, cec, ced)
new_ltEs7(Right(vwx100), Right(vwx110), cc, app(app(ty_Either, cd), ce)) → new_ltEs7(vwx100, vwx110, cd, ce)
new_ltEs4(vwx17, vwx18, ty_Bool) → new_ltEs15(vwx17, vwx18)
new_ltEs22(vwx44, vwx45, ty_Char) → new_ltEs18(vwx44, vwx45)
new_compare30(vwx30, vwx40, ty_Char) → new_compare34(vwx30, vwx40)
new_esEs20(Float(vwx300, vwx301), Float(vwx400, vwx401)) → new_esEs16(new_sr0(vwx300, vwx400), new_sr0(vwx301, vwx401))
new_lt23(vwx67, vwx70, ty_Ordering) → new_lt16(vwx67, vwx70)
new_esEs32(vwx302, vwx402, app(ty_Ratio, eec)) → new_esEs13(vwx302, vwx402, eec)
new_esEs36(vwx100, vwx110, app(app(ty_Either, df), dg)) → new_esEs21(vwx100, vwx110, df, dg)
new_asAs(False, vwx111) → False
new_lt23(vwx67, vwx70, app(app(ty_Either, bgg), bgh)) → new_lt9(vwx67, vwx70, bgg, bgh)
new_esEs6(vwx32, vwx42, app(ty_Ratio, dcg)) → new_esEs13(vwx32, vwx42, dcg)
new_ltEs22(vwx44, vwx45, app(app(app(ty_@3, cbd), cbe), cbf)) → new_ltEs9(vwx44, vwx45, cbd, cbe, cbf)
new_esEs21(Right(vwx300), Right(vwx400), cge, app(app(ty_@2, fcc), fcd)) → new_esEs25(vwx300, vwx400, fcc, fcd)
new_esEs6(vwx32, vwx42, ty_Char) → new_esEs24(vwx32, vwx42)
new_esEs38(vwx67, vwx70, app(app(app(ty_@3, bha), bhb), bhc)) → new_esEs23(vwx67, vwx70, bha, bhb, bhc)
new_primMulInt(Pos(vwx400), Neg(vwx310)) → Neg(new_primMulNat0(vwx400, vwx310))
new_primMulInt(Neg(vwx400), Pos(vwx310)) → Neg(new_primMulNat0(vwx400, vwx310))
new_esEs8(vwx30, vwx40, ty_Integer) → new_esEs17(vwx30, vwx40)
new_primMulNat0(Succ(vwx4000), Zero) → Zero
new_primMulNat0(Zero, Succ(vwx3100)) → Zero
new_ltEs7(Left(vwx100), Left(vwx110), ty_Double, bc) → new_ltEs14(vwx100, vwx110)
new_esEs6(vwx32, vwx42, app(app(app(ty_@3, dca), dcb), dcc)) → new_esEs23(vwx32, vwx42, dca, dcb, dcc)
new_ltEs20(vwx10, vwx11, ty_Bool) → new_ltEs15(vwx10, vwx11)
new_esEs35(vwx101, vwx111, app(ty_[], fh)) → new_esEs26(vwx101, vwx111, fh)
new_esEs34(vwx300, vwx400, ty_Double) → new_esEs22(vwx300, vwx400)
new_ltEs4(vwx17, vwx18, ty_Int) → new_ltEs10(vwx17, vwx18)
new_esEs10(vwx31, vwx41, app(ty_Ratio, fab)) → new_esEs13(vwx31, vwx41, fab)
new_ltEs4(vwx17, vwx18, app(app(ty_@2, cga), cgb)) → new_ltEs17(vwx17, vwx18, cga, cgb)
new_esEs35(vwx101, vwx111, ty_Bool) → new_esEs27(vwx101, vwx111)
new_esEs30(vwx300, vwx400, app(ty_Ratio, ece)) → new_esEs13(vwx300, vwx400, ece)
new_esEs37(vwx300, vwx400, app(app(ty_@2, fgd), fge)) → new_esEs25(vwx300, vwx400, fgd, fge)
new_esEs4(vwx30, vwx40, ty_Int) → new_esEs16(vwx30, vwx40)
new_ltEs11(vwx10, vwx11) → new_fsEs(new_compare18(vwx10, vwx11))
new_lt6(vwx100, vwx110, ty_Double) → new_lt14(vwx100, vwx110)
new_esEs4(vwx30, vwx40, ty_Integer) → new_esEs17(vwx30, vwx40)
new_esEs4(vwx30, vwx40, ty_Bool) → new_esEs27(vwx30, vwx40)
new_lt23(vwx67, vwx70, ty_Integer) → new_lt7(vwx67, vwx70)
new_ltEs13(Just(vwx100), Just(vwx110), app(ty_[], bah)) → new_ltEs12(vwx100, vwx110, bah)
new_lt23(vwx67, vwx70, ty_Float) → new_lt11(vwx67, vwx70)
new_ltEs4(vwx17, vwx18, app(ty_[], cfg)) → new_ltEs12(vwx17, vwx18, cfg)
new_esEs38(vwx67, vwx70, ty_@0) → new_esEs12(vwx67, vwx70)
new_lt21(vwx101, vwx111, ty_Ordering) → new_lt16(vwx101, vwx111)
new_esEs8(vwx30, vwx40, app(ty_[], dag)) → new_esEs26(vwx30, vwx40, dag)
new_esEs8(vwx30, vwx40, ty_Int) → new_esEs16(vwx30, vwx40)
new_ltEs23(vwx102, vwx112, app(app(ty_@2, hc), hd)) → new_ltEs17(vwx102, vwx112, hc, hd)
new_ltEs23(vwx102, vwx112, ty_Bool) → new_ltEs15(vwx102, vwx112)
new_esEs37(vwx300, vwx400, app(ty_Maybe, fff)) → new_esEs19(vwx300, vwx400, fff)
new_esEs36(vwx100, vwx110, ty_Ordering) → new_esEs18(vwx100, vwx110)
new_lt19(vwx79, vwx81, ty_Bool) → new_lt15(vwx79, vwx81)
new_ltEs7(Right(vwx100), Right(vwx110), cc, app(app(ty_@2, dd), de)) → new_ltEs17(vwx100, vwx110, dd, de)
new_esEs33(vwx301, vwx401, app(ty_Maybe, eed)) → new_esEs19(vwx301, vwx401, eed)
new_esEs11(vwx30, vwx40, app(ty_Ratio, ffe)) → new_esEs13(vwx30, vwx40, ffe)
new_esEs8(vwx30, vwx40, ty_@0) → new_esEs12(vwx30, vwx40)
new_compare18(Float(vwx30, vwx31), Float(vwx40, vwx41)) → new_compare12(new_sr0(vwx30, vwx40), new_sr0(vwx31, vwx41))
new_ltEs19(vwx101, vwx111, ty_Integer) → new_ltEs5(vwx101, vwx111)
new_esEs7(vwx31, vwx41, ty_Int) → new_esEs16(vwx31, vwx41)
new_esEs21(Left(vwx300), Left(vwx400), ty_Char, cgf) → new_esEs24(vwx300, vwx400)
new_lt6(vwx100, vwx110, app(ty_[], bcb)) → new_lt12(vwx100, vwx110, bcb)
new_compare30(vwx30, vwx40, ty_Integer) → new_compare13(vwx30, vwx40)
new_ltEs20(vwx10, vwx11, app(app(ty_Either, cc), bc)) → new_ltEs7(vwx10, vwx11, cc, bc)
new_ltEs7(Right(vwx100), Right(vwx110), cc, app(app(app(ty_@3, cf), cg), da)) → new_ltEs9(vwx100, vwx110, cf, cg, da)
new_esEs34(vwx300, vwx400, app(app(ty_@2, egd), ege)) → new_esEs25(vwx300, vwx400, egd, ege)
new_ltEs7(Left(vwx100), Left(vwx110), app(ty_[], bg), bc) → new_ltEs12(vwx100, vwx110, bg)
new_esEs4(vwx30, vwx40, app(app(ty_Either, cge), cgf)) → new_esEs21(vwx30, vwx40, cge, cgf)
new_lt20(vwx100, vwx110, ty_Ordering) → new_lt16(vwx100, vwx110)
new_esEs28(vwx100, vwx110, ty_Double) → new_esEs22(vwx100, vwx110)
new_ltEs19(vwx101, vwx111, app(ty_Maybe, bde)) → new_ltEs13(vwx101, vwx111, bde)
new_esEs28(vwx100, vwx110, app(ty_Ratio, dbd)) → new_esEs13(vwx100, vwx110, dbd)
new_lt23(vwx67, vwx70, app(app(ty_@2, bhf), bhg)) → new_lt17(vwx67, vwx70, bhf, bhg)
new_lt21(vwx101, vwx111, ty_@0) → new_lt8(vwx101, vwx111)
new_esEs31(vwx79, vwx81, ty_@0) → new_esEs12(vwx79, vwx81)
new_lt22(vwx66, vwx69, ty_Float) → new_lt11(vwx66, vwx69)
new_ltEs7(Left(vwx100), Left(vwx110), ty_Ordering, bc) → new_ltEs16(vwx100, vwx110)
new_ltEs20(vwx10, vwx11, ty_Float) → new_ltEs11(vwx10, vwx11)
new_ltEs20(vwx10, vwx11, ty_Int) → new_ltEs10(vwx10, vwx11)
new_compare17(vwx131, vwx132, vwx133, vwx134, vwx135, vwx136, True, dhg, dhh, eaa) → LT
new_esEs36(vwx100, vwx110, app(ty_[], ee)) → new_esEs26(vwx100, vwx110, ee)
new_ltEs22(vwx44, vwx45, app(app(ty_@2, cca), ccb)) → new_ltEs17(vwx44, vwx45, cca, ccb)
new_esEs31(vwx79, vwx81, app(app(ty_Either, cce), ccf)) → new_esEs21(vwx79, vwx81, cce, ccf)
new_ltEs7(Left(vwx100), Left(vwx110), app(ty_Ratio, dgc), bc) → new_ltEs8(vwx100, vwx110, dgc)
new_esEs39(vwx66, vwx69, app(ty_Maybe, bgc)) → new_esEs19(vwx66, vwx69, bgc)
new_lt20(vwx100, vwx110, ty_Float) → new_lt11(vwx100, vwx110)
new_compare13(Integer(vwx30), Integer(vwx40)) → new_primCmpInt(vwx30, vwx40)
new_ltEs23(vwx102, vwx112, app(ty_Ratio, fec)) → new_ltEs8(vwx102, vwx112, fec)
new_lt22(vwx66, vwx69, app(app(app(ty_@3, bfg), bfh), bga)) → new_lt4(vwx66, vwx69, bfg, bfh, bga)
new_esEs35(vwx101, vwx111, app(ty_Maybe, ga)) → new_esEs19(vwx101, vwx111, ga)
new_esEs23(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), cgg, cgh, cha) → new_asAs(new_esEs34(vwx300, vwx400, cgg), new_asAs(new_esEs33(vwx301, vwx401, cgh), new_esEs32(vwx302, vwx402, cha)))
new_lt23(vwx67, vwx70, ty_Bool) → new_lt15(vwx67, vwx70)
new_ltEs23(vwx102, vwx112, app(ty_Maybe, hb)) → new_ltEs13(vwx102, vwx112, hb)
new_esEs34(vwx300, vwx400, ty_@0) → new_esEs12(vwx300, vwx400)
new_lt6(vwx100, vwx110, ty_Float) → new_lt11(vwx100, vwx110)
new_esEs4(vwx30, vwx40, ty_Double) → new_esEs22(vwx30, vwx40)
new_esEs39(vwx66, vwx69, ty_Integer) → new_esEs17(vwx66, vwx69)
new_esEs10(vwx31, vwx41, ty_Ordering) → new_esEs18(vwx31, vwx41)
new_esEs10(vwx31, vwx41, ty_Float) → new_esEs20(vwx31, vwx41)
new_compare110(vwx131, vwx132, vwx133, vwx134, vwx135, vwx136, True, vwx138, dhg, dhh, eaa) → new_compare17(vwx131, vwx132, vwx133, vwx134, vwx135, vwx136, True, dhg, dhh, eaa)
new_esEs38(vwx67, vwx70, app(ty_[], bhd)) → new_esEs26(vwx67, vwx70, bhd)
new_esEs5(vwx30, vwx40, app(app(app(ty_@3, fdb), fdc), fdd)) → new_esEs23(vwx30, vwx40, fdb, fdc, fdd)
new_esEs28(vwx100, vwx110, ty_Ordering) → new_esEs18(vwx100, vwx110)
new_esEs36(vwx100, vwx110, ty_@0) → new_esEs12(vwx100, vwx110)
new_primPlusNat0(Succ(vwx15900), Succ(vwx31000)) → Succ(Succ(new_primPlusNat0(vwx15900, vwx31000)))
new_esEs11(vwx30, vwx40, app(ty_Maybe, fed)) → new_esEs19(vwx30, vwx40, fed)
new_esEs28(vwx100, vwx110, app(app(ty_Either, bbd), bbe)) → new_esEs21(vwx100, vwx110, bbd, bbe)
new_esEs11(vwx30, vwx40, ty_Integer) → new_esEs17(vwx30, vwx40)
new_compare33(EQ, GT) → LT
new_ltEs24(vwx68, vwx71, ty_@0) → new_ltEs6(vwx68, vwx71)
new_esEs33(vwx301, vwx401, app(app(ty_@2, efb), efc)) → new_esEs25(vwx301, vwx401, efb, efc)
new_lt21(vwx101, vwx111, ty_Integer) → new_lt7(vwx101, vwx111)
new_compare8(:%(vwx30, vwx31), :%(vwx40, vwx41), ty_Int) → new_compare12(new_sr0(vwx30, vwx41), new_sr0(vwx40, vwx31))
new_esEs32(vwx302, vwx402, app(ty_[], eeb)) → new_esEs26(vwx302, vwx402, eeb)
new_asAs(True, vwx111) → vwx111
new_lt19(vwx79, vwx81, app(ty_Maybe, cdd)) → new_lt13(vwx79, vwx81, cdd)
new_ltEs22(vwx44, vwx45, ty_Float) → new_ltEs11(vwx44, vwx45)
new_esEs30(vwx300, vwx400, ty_Integer) → new_esEs17(vwx300, vwx400)
new_compare33(EQ, LT) → GT
new_esEs9(vwx30, vwx40, ty_Double) → new_esEs22(vwx30, vwx40)
new_compare30(vwx30, vwx40, ty_@0) → new_compare7(vwx30, vwx40)
new_compare31(Right(vwx30), Left(vwx40), hg, hh) → GT
new_ltEs24(vwx68, vwx71, app(ty_Ratio, fhc)) → new_ltEs8(vwx68, vwx71, fhc)
new_esEs4(vwx30, vwx40, app(ty_[], chd)) → new_esEs26(vwx30, vwx40, chd)
new_ltEs16(LT, LT) → True
new_compare1(:(vwx30, vwx31), [], bdh) → GT
new_lt22(vwx66, vwx69, app(ty_Maybe, bgc)) → new_lt13(vwx66, vwx69, bgc)
new_esEs4(vwx30, vwx40, app(ty_Maybe, cgd)) → new_esEs19(vwx30, vwx40, cgd)
new_lt15(vwx66, vwx69) → new_esEs18(new_compare29(vwx66, vwx69), LT)
new_esEs31(vwx79, vwx81, app(ty_Ratio, ecf)) → new_esEs13(vwx79, vwx81, ecf)
new_ltEs6(vwx10, vwx11) → new_fsEs(new_compare7(vwx10, vwx11))
new_esEs21(Left(vwx300), Left(vwx400), ty_Integer, cgf) → new_esEs17(vwx300, vwx400)
new_lt21(vwx101, vwx111, ty_Double) → new_lt14(vwx101, vwx111)
new_compare28(vwx44, vwx45, True, ech) → EQ
new_esEs31(vwx79, vwx81, ty_Int) → new_esEs16(vwx79, vwx81)
new_esEs19(Just(vwx300), Just(vwx400), app(app(app(ty_@3, dgh), dha), dhb)) → new_esEs23(vwx300, vwx400, dgh, dha, dhb)
new_esEs21(Right(vwx300), Right(vwx400), cge, ty_Float) → new_esEs20(vwx300, vwx400)
new_esEs30(vwx300, vwx400, app(app(ty_@2, ecb), ecc)) → new_esEs25(vwx300, vwx400, ecb, ecc)
new_ltEs7(Right(vwx100), Right(vwx110), cc, ty_Char) → new_ltEs18(vwx100, vwx110)
new_esEs26([], [], chd) → True
new_esEs36(vwx100, vwx110, app(app(ty_@2, eg), eh)) → new_esEs25(vwx100, vwx110, eg, eh)
new_esEs5(vwx30, vwx40, app(ty_Maybe, fcg)) → new_esEs19(vwx30, vwx40, fcg)
new_lt19(vwx79, vwx81, ty_Double) → new_lt14(vwx79, vwx81)
new_compare29(True, False) → GT
new_esEs38(vwx67, vwx70, ty_Ordering) → new_esEs18(vwx67, vwx70)
new_lt19(vwx79, vwx81, app(app(ty_@2, cde), cdf)) → new_lt17(vwx79, vwx81, cde, cdf)
new_esEs5(vwx30, vwx40, ty_Double) → new_esEs22(vwx30, vwx40)
new_esEs5(vwx30, vwx40, app(ty_[], fdg)) → new_esEs26(vwx30, vwx40, fdg)
new_ltEs24(vwx68, vwx71, ty_Bool) → new_ltEs15(vwx68, vwx71)
new_ltEs13(Just(vwx100), Just(vwx110), app(app(app(ty_@3, bae), baf), bag)) → new_ltEs9(vwx100, vwx110, bae, baf, bag)
new_esEs9(vwx30, vwx40, ty_Bool) → new_esEs27(vwx30, vwx40)
new_lt6(vwx100, vwx110, ty_Ordering) → new_lt16(vwx100, vwx110)
new_esEs30(vwx300, vwx400, app(ty_Maybe, ebd)) → new_esEs19(vwx300, vwx400, ebd)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_ltEs22(vwx44, vwx45, ty_Int) → new_ltEs10(vwx44, vwx45)
new_primCompAux0(vwx38, EQ) → vwx38
new_esEs19(Just(vwx300), Just(vwx400), app(ty_[], dhe)) → new_esEs26(vwx300, vwx400, dhe)
new_lt6(vwx100, vwx110, app(ty_Maybe, bcc)) → new_lt13(vwx100, vwx110, bcc)
new_ltEs14(vwx10, vwx11) → new_fsEs(new_compare9(vwx10, vwx11))
new_esEs4(vwx30, vwx40, app(ty_Ratio, cgc)) → new_esEs13(vwx30, vwx40, cgc)
new_lt6(vwx100, vwx110, app(ty_Ratio, dbd)) → new_lt5(vwx100, vwx110, dbd)
new_lt22(vwx66, vwx69, ty_Bool) → new_lt15(vwx66, vwx69)
new_lt21(vwx101, vwx111, app(app(app(ty_@3, fd), ff), fg)) → new_lt4(vwx101, vwx111, fd, ff, fg)
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_lt20(vwx100, vwx110, app(app(ty_Either, df), dg)) → new_lt9(vwx100, vwx110, df, dg)
new_esEs21(Left(vwx300), Left(vwx400), ty_Float, cgf) → new_esEs20(vwx300, vwx400)
new_esEs18(EQ, EQ) → True
new_primCmpInt(Neg(Succ(vwx300)), Pos(vwx40)) → LT
new_esEs9(vwx30, vwx40, app(app(ty_@2, dfb), dfc)) → new_esEs25(vwx30, vwx40, dfb, dfc)
new_not(True) → False
new_compare1([], [], bdh) → EQ

The set Q consists of the following terms:

new_lt15(x0, x1)
new_esEs35(x0, x1, app(ty_Ratio, x2))
new_esEs4(x0, x1, ty_Bool)
new_lt6(x0, x1, ty_Double)
new_primPlusNat1(Succ(x0), x1)
new_esEs31(x0, x1, ty_Integer)
new_lt16(x0, x1)
new_ltEs4(x0, x1, app(ty_Maybe, x2))
new_esEs33(x0, x1, ty_Char)
new_esEs38(x0, x1, app(ty_Maybe, x2))
new_ltEs19(x0, x1, ty_Float)
new_ltEs23(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs34(x0, x1, app(app(ty_Either, x2), x3))
new_lt21(x0, x1, ty_Ordering)
new_esEs10(x0, x1, ty_Bool)
new_lt22(x0, x1, ty_@0)
new_esEs36(x0, x1, ty_Float)
new_ltEs7(Left(x0), Left(x1), ty_@0, x2)
new_esEs39(x0, x1, ty_Bool)
new_esEs21(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs13(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs21(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs4(x0, x1, app(app(ty_Either, x2), x3))
new_lt22(x0, x1, app(ty_Maybe, x2))
new_compare15(x0, x1, False, x2, x3)
new_esEs18(LT, LT)
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs19(Just(x0), Nothing, x1)
new_ltEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs21(x0, x1, ty_Integer)
new_esEs21(Left(x0), Right(x1), x2, x3)
new_esEs21(Right(x0), Left(x1), x2, x3)
new_esEs35(x0, x1, ty_Char)
new_ltEs21(x0, x1, ty_Int)
new_esEs30(x0, x1, ty_Float)
new_lt23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(x0, x1, app(ty_[], x2))
new_esEs19(Just(x0), Just(x1), ty_Ordering)
new_ltEs24(x0, x1, ty_Ordering)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt19(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, ty_Float)
new_primPlusNat0(Succ(x0), Zero)
new_esEs11(x0, x1, ty_Char)
new_esEs32(x0, x1, ty_@0)
new_lt6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, ty_Integer)
new_compare33(EQ, LT)
new_compare33(LT, EQ)
new_compare15(x0, x1, True, x2, x3)
new_esEs20(Float(x0, x1), Float(x2, x3))
new_esEs34(x0, x1, ty_Char)
new_ltEs22(x0, x1, ty_Float)
new_esEs31(x0, x1, app(ty_[], x2))
new_esEs39(x0, x1, ty_Ordering)
new_ltEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs16(x0, x1)
new_esEs19(Just(x0), Just(x1), ty_Float)
new_esEs4(x0, x1, app(ty_Ratio, x2))
new_ltEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_primCmpNat0(Succ(x0), Zero)
new_compare30(x0, x1, app(app(ty_Either, x2), x3))
new_esEs36(x0, x1, ty_Integer)
new_lt6(x0, x1, ty_@0)
new_lt20(x0, x1, ty_Ordering)
new_lt4(x0, x1, x2, x3, x4)
new_esEs15(x0, x1, ty_Integer)
new_ltEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs15(True, True)
new_ltEs19(x0, x1, app(ty_[], x2))
new_ltEs24(x0, x1, app(ty_[], x2))
new_ltEs13(Just(x0), Just(x1), ty_Int)
new_esEs29(x0, x1, ty_Ordering)
new_esEs21(Right(x0), Right(x1), x2, app(ty_[], x3))
new_lt22(x0, x1, ty_Double)
new_lt10(x0, x1)
new_esEs32(x0, x1, ty_Int)
new_esEs32(x0, x1, ty_Char)
new_esEs39(x0, x1, app(ty_Maybe, x2))
new_esEs26(:(x0, x1), [], x2)
new_esEs9(x0, x1, ty_Ordering)
new_lt23(x0, x1, ty_Float)
new_ltEs20(x0, x1, ty_Integer)
new_esEs7(x0, x1, ty_Float)
new_esEs36(x0, x1, app(ty_Maybe, x2))
new_esEs19(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs13(Just(x0), Nothing, x1)
new_ltEs15(False, False)
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs11(x0, x1, ty_Int)
new_lt6(x0, x1, ty_Int)
new_ltEs7(Left(x0), Left(x1), ty_Float, x2)
new_esEs23(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs11(x0, x1)
new_esEs19(Just(x0), Just(x1), ty_@0)
new_primCmpNat0(Succ(x0), Succ(x1))
new_compare32(Nothing, Nothing, x0)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_esEs30(x0, x1, ty_Double)
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs10(x0, x1, ty_Char)
new_esEs36(x0, x1, app(ty_Ratio, x2))
new_esEs7(x0, x1, ty_Ordering)
new_esEs21(Left(x0), Left(x1), ty_Int, x2)
new_ltEs22(x0, x1, app(ty_Ratio, x2))
new_compare10(x0, x1, x2, x3, False, x4, x5)
new_esEs38(x0, x1, ty_Ordering)
new_esEs38(x0, x1, app(ty_[], x2))
new_esEs21(Left(x0), Left(x1), ty_Bool, x2)
new_esEs18(EQ, GT)
new_esEs18(GT, EQ)
new_ltEs20(x0, x1, ty_Double)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs39(x0, x1, app(app(ty_Either, x2), x3))
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_compare11(x0, x1, True, x2, x3)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_primMulNat0(Zero, Succ(x0))
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_esEs39(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_lt22(x0, x1, ty_Bool)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs18(EQ, EQ)
new_esEs35(x0, x1, ty_Int)
new_esEs31(x0, x1, ty_Ordering)
new_ltEs13(Just(x0), Just(x1), ty_Char)
new_ltEs7(Left(x0), Left(x1), ty_Bool, x2)
new_lt19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpNat0(Zero, Succ(x0))
new_esEs34(x0, x1, app(ty_[], x2))
new_ltEs24(x0, x1, ty_Integer)
new_esEs34(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs10(x0, x1, ty_Ordering)
new_esEs37(x0, x1, app(ty_Ratio, x2))
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_fsEs(x0)
new_esEs33(x0, x1, ty_Integer)
new_esEs9(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_Integer)
new_esEs8(x0, x1, ty_Int)
new_ltEs9(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs13(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs24(x0, x1, ty_Char)
new_esEs29(x0, x1, ty_Char)
new_lt19(x0, x1, ty_Double)
new_lt22(x0, x1, app(ty_Ratio, x2))
new_ltEs6(x0, x1)
new_ltEs24(x0, x1, ty_@0)
new_ltEs4(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(Right(x0), Right(x1), x2, ty_Bool)
new_compare30(x0, x1, app(ty_Ratio, x2))
new_compare14(x0, x1, x2, x3, False, x4, x5, x6)
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_compare19(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt21(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_primMulNat0(Succ(x0), Succ(x1))
new_ltEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_ltEs22(x0, x1, ty_Double)
new_primEqNat0(Zero, Zero)
new_lt6(x0, x1, app(ty_Maybe, x2))
new_esEs8(x0, x1, ty_@0)
new_pePe(False, x0)
new_ltEs20(x0, x1, app(ty_[], x2))
new_compare1(:(x0, x1), [], x2)
new_lt22(x0, x1, ty_Float)
new_ltEs13(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs34(x0, x1, app(ty_Maybe, x2))
new_ltEs7(Right(x0), Right(x1), x2, ty_Float)
new_ltEs22(x0, x1, app(ty_[], x2))
new_ltEs12(x0, x1, x2)
new_esEs5(x0, x1, ty_Int)
new_compare34(Char(x0), Char(x1))
new_esEs19(Just(x0), Just(x1), app(ty_Maybe, x2))
new_primPlusNat0(Zero, Succ(x0))
new_esEs29(x0, x1, ty_Bool)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs12(@0, @0)
new_esEs34(x0, x1, ty_Int)
new_primMulNat0(Zero, Zero)
new_ltEs13(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs19(Just(x0), Just(x1), ty_Bool)
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs26([], [], x0)
new_compare27(x0, x1, x2, x3, True, x4, x5)
new_esEs37(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare8(:%(x0, x1), :%(x2, x3), ty_Integer)
new_lt23(x0, x1, ty_Int)
new_compare8(:%(x0, x1), :%(x2, x3), ty_Int)
new_ltEs4(x0, x1, ty_Int)
new_lt6(x0, x1, ty_Integer)
new_esEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_esEs29(x0, x1, app(ty_[], x2))
new_ltEs22(x0, x1, ty_@0)
new_esEs21(Left(x0), Left(x1), ty_Integer, x2)
new_esEs6(x0, x1, ty_Bool)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs6(x0, x1, ty_Integer)
new_esEs34(x0, x1, ty_@0)
new_esEs38(x0, x1, ty_Char)
new_esEs21(Right(x0), Right(x1), x2, ty_Double)
new_esEs10(x0, x1, ty_Double)
new_lt23(x0, x1, app(ty_[], x2))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_ltEs7(Right(x0), Right(x1), x2, ty_Char)
new_esEs11(x0, x1, ty_@0)
new_ltEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs38(x0, x1, ty_@0)
new_ltEs23(x0, x1, app(ty_[], x2))
new_esEs9(x0, x1, ty_Char)
new_lt23(x0, x1, app(ty_Ratio, x2))
new_compare27(x0, x1, x2, x3, False, x4, x5)
new_esEs8(x0, x1, ty_Bool)
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, ty_Bool)
new_ltEs23(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs10(x0, x1)
new_ltEs22(x0, x1, app(ty_Maybe, x2))
new_esEs31(x0, x1, ty_Double)
new_ltEs4(x0, x1, ty_Bool)
new_esEs34(x0, x1, ty_Float)
new_esEs5(x0, x1, ty_Double)
new_esEs38(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs7(Right(x0), Right(x1), x2, ty_Integer)
new_esEs19(Just(x0), Just(x1), ty_Char)
new_compare11(x0, x1, False, x2, x3)
new_esEs38(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs7(Right(x0), Right(x1), x2, ty_Bool)
new_ltEs20(x0, x1, ty_Float)
new_esEs7(x0, x1, ty_@0)
new_ltEs13(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs7(x0, x1, ty_Char)
new_esEs8(x0, x1, ty_Float)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_compare30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs7(Right(x0), Right(x1), x2, ty_Double)
new_compare25(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_lt21(x0, x1, ty_Float)
new_esEs30(x0, x1, app(ty_[], x2))
new_esEs8(x0, x1, ty_Integer)
new_esEs34(x0, x1, app(ty_Ratio, x2))
new_lt19(x0, x1, ty_Bool)
new_ltEs24(x0, x1, ty_Int)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs37(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, ty_Char)
new_sr0(x0, x1)
new_lt22(x0, x1, app(ty_[], x2))
new_esEs34(x0, x1, ty_Bool)
new_compare31(Right(x0), Left(x1), x2, x3)
new_compare31(Left(x0), Right(x1), x2, x3)
new_esEs32(x0, x1, ty_Float)
new_lt21(x0, x1, ty_Bool)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_esEs37(x0, x1, app(app(ty_@2, x2), x3))
new_compare30(x0, x1, ty_Int)
new_esEs34(x0, x1, ty_Ordering)
new_lt19(x0, x1, app(ty_Maybe, x2))
new_esEs39(x0, x1, ty_Int)
new_esEs14(x0, x1, ty_Int)
new_compare24(x0, x1, True, x2, x3)
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs36(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_ltEs13(Just(x0), Just(x1), ty_Integer)
new_esEs21(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_lt22(x0, x1, ty_Integer)
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare32(Just(x0), Just(x1), x2)
new_primEqNat0(Succ(x0), Zero)
new_esEs37(x0, x1, ty_Bool)
new_lt23(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_asAs(True, x0)
new_esEs6(x0, x1, app(ty_[], x2))
new_primCompAux0(x0, LT)
new_esEs35(x0, x1, ty_Integer)
new_primPlusNat0(Zero, Zero)
new_compare16(x0, x1, True, x2)
new_esEs9(x0, x1, ty_Int)
new_ltEs16(EQ, EQ)
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_esEs33(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs33(x0, x1, app(app(ty_@2, x2), x3))
new_compare30(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs39(x0, x1, ty_@0)
new_lt19(x0, x1, ty_Int)
new_esEs21(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs5(x0, x1, ty_@0)
new_lt13(x0, x1, x2)
new_ltEs24(x0, x1, ty_Double)
new_esEs28(x0, x1, ty_Float)
new_compare29(False, False)
new_esEs37(x0, x1, ty_Float)
new_esEs19(Just(x0), Just(x1), app(ty_Ratio, x2))
new_compare28(x0, x1, False, x2)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_lt18(x0, x1)
new_lt22(x0, x1, ty_Int)
new_esEs11(x0, x1, app(ty_[], x2))
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_esEs5(x0, x1, app(ty_Maybe, x2))
new_ltEs16(LT, LT)
new_lt6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs38(x0, x1, app(app(ty_Either, x2), x3))
new_lt8(x0, x1)
new_ltEs24(x0, x1, app(ty_Ratio, x2))
new_compare1([], [], x0)
new_esEs19(Nothing, Just(x0), x1)
new_esEs18(GT, GT)
new_esEs21(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs33(x0, x1, ty_Double)
new_ltEs23(x0, x1, ty_Double)
new_esEs33(x0, x1, app(ty_Ratio, x2))
new_lt22(x0, x1, ty_Ordering)
new_lt6(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, ty_Double)
new_primMulNat0(Succ(x0), Zero)
new_esEs32(x0, x1, ty_Bool)
new_esEs36(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, ty_@0)
new_esEs37(x0, x1, app(ty_Maybe, x2))
new_ltEs19(x0, x1, ty_Char)
new_ltEs24(x0, x1, ty_Float)
new_lt21(x0, x1, ty_Integer)
new_ltEs16(LT, GT)
new_ltEs16(GT, LT)
new_ltEs23(x0, x1, ty_Char)
new_ltEs4(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs5(x0, x1, app(ty_[], x2))
new_esEs14(x0, x1, ty_Integer)
new_ltEs13(Nothing, Nothing, x0)
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare110(x0, x1, x2, x3, x4, x5, False, x6, x7, x8, x9)
new_esEs30(x0, x1, ty_Integer)
new_esEs4(x0, x1, ty_Int)
new_esEs9(x0, x1, ty_Float)
new_lt20(x0, x1, ty_Integer)
new_esEs37(x0, x1, ty_Integer)
new_esEs38(x0, x1, ty_Integer)
new_esEs10(x0, x1, ty_Int)
new_compare25(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_compare29(True, True)
new_esEs4(x0, x1, ty_Integer)
new_ltEs15(False, True)
new_ltEs15(True, False)
new_esEs15(x0, x1, ty_Int)
new_esEs4(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, ty_Bool)
new_lt19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(x0, x1, ty_Char)
new_esEs21(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Int)
new_esEs10(x0, x1, app(ty_[], x2))
new_compare110(x0, x1, x2, x3, x4, x5, True, x6, x7, x8, x9)
new_esEs30(x0, x1, ty_Int)
new_lt23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs39(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs37(x0, x1, ty_Int)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Neg(Zero), Pos(Zero))
new_ltEs4(x0, x1, ty_Double)
new_compare24(x0, x1, False, x2, x3)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_compare30(x0, x1, ty_Float)
new_lt19(x0, x1, ty_Float)
new_esEs7(x0, x1, ty_Double)
new_ltEs23(x0, x1, ty_Int)
new_esEs34(x0, x1, ty_Integer)
new_ltEs20(x0, x1, ty_Int)
new_esEs33(x0, x1, ty_Bool)
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_compare33(EQ, GT)
new_compare33(GT, EQ)
new_lt23(x0, x1, ty_Char)
new_esEs19(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_compare17(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs31(x0, x1, ty_Float)
new_esEs21(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs32(x0, x1, ty_Double)
new_ltEs4(x0, x1, ty_Integer)
new_lt6(x0, x1, ty_Bool)
new_lt22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(x0, x1, ty_Float)
new_lt21(x0, x1, app(ty_[], x2))
new_esEs21(Left(x0), Left(x1), ty_Float, x2)
new_ltEs21(x0, x1, ty_Bool)
new_esEs37(x0, x1, ty_Char)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs7(x0, x1, ty_Int)
new_esEs32(x0, x1, ty_Ordering)
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs35(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(x0, x1, x2, x3, True, x4, x5)
new_esEs21(Right(x0), Right(x1), x2, ty_Char)
new_primCompAux0(x0, GT)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_lt20(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_esEs4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_asAs(False, x0)
new_esEs5(x0, x1, ty_Integer)
new_esEs39(x0, x1, ty_Float)
new_compare33(LT, LT)
new_lt6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs11(x0, x1, ty_Ordering)
new_compare16(x0, x1, False, x2)
new_esEs35(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_lt7(x0, x1)
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_esEs21(Left(x0), Left(x1), ty_@0, x2)
new_esEs4(x0, x1, app(app(ty_Either, x2), x3))
new_lt19(x0, x1, ty_Char)
new_esEs39(x0, x1, app(app(ty_@2, x2), x3))
new_esEs36(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(Right(x0), Right(x1), x2, ty_@0)
new_esEs38(x0, x1, ty_Double)
new_lt11(x0, x1)
new_lt22(x0, x1, ty_Char)
new_compare14(x0, x1, x2, x3, True, x4, x5, x6)
new_esEs11(x0, x1, ty_Bool)
new_esEs37(x0, x1, ty_@0)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs16(GT, GT)
new_compare7(@0, @0)
new_esEs33(x0, x1, ty_Float)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_compare31(Right(x0), Right(x1), x2, x3)
new_esEs31(x0, x1, ty_Char)
new_ltEs23(x0, x1, ty_Bool)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs36(x0, x1, ty_Char)
new_lt21(x0, x1, ty_Double)
new_esEs5(x0, x1, ty_Ordering)
new_esEs38(x0, x1, ty_Float)
new_compare30(x0, x1, ty_Char)
new_lt6(x0, x1, ty_Char)
new_ltEs4(x0, x1, ty_Ordering)
new_ltEs23(x0, x1, ty_Float)
new_sr(Integer(x0), Integer(x1))
new_esEs24(Char(x0), Char(x1))
new_lt23(x0, x1, ty_Double)
new_ltEs8(x0, x1, x2)
new_lt6(x0, x1, app(ty_Ratio, x2))
new_ltEs23(x0, x1, ty_Integer)
new_esEs37(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs23(x0, x1, app(ty_Maybe, x2))
new_lt23(x0, x1, ty_Bool)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_ltEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(x0, x1, ty_Ordering)
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_lt21(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_lt14(x0, x1)
new_esEs5(x0, x1, ty_Float)
new_esEs7(x0, x1, ty_Integer)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_ltEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs33(x0, x1, ty_@0)
new_esEs4(x0, x1, ty_Double)
new_ltEs13(Just(x0), Just(x1), ty_Float)
new_ltEs21(x0, x1, ty_Char)
new_esEs7(x0, x1, ty_Bool)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs37(x0, x1, ty_Double)
new_ltEs20(x0, x1, ty_Char)
new_esEs21(Right(x0), Right(x1), x2, ty_Int)
new_esEs4(x0, x1, ty_Char)
new_primCmpNat0(Zero, Zero)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Double)
new_lt21(x0, x1, ty_Int)
new_esEs39(x0, x1, ty_Char)
new_lt21(x0, x1, ty_@0)
new_ltEs7(Left(x0), Left(x1), ty_Integer, x2)
new_compare30(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Double)
new_esEs27(True, True)
new_lt19(x0, x1, app(ty_Ratio, x2))
new_compare29(True, False)
new_compare29(False, True)
new_esEs36(x0, x1, ty_Double)
new_esEs31(x0, x1, ty_Bool)
new_ltEs18(x0, x1)
new_ltEs22(x0, x1, ty_Int)
new_esEs29(x0, x1, ty_@0)
new_ltEs7(Right(x0), Right(x1), x2, ty_Int)
new_lt5(x0, x1, x2)
new_ltEs24(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs22(x0, x1, ty_Char)
new_esEs37(x0, x1, ty_Ordering)
new_lt9(x0, x1, x2, x3)
new_esEs26([], :(x0, x1), x2)
new_esEs29(x0, x1, ty_Float)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_lt17(x0, x1, x2, x3)
new_esEs5(x0, x1, app(app(ty_@2, x2), x3))
new_esEs19(Just(x0), Just(x1), app(ty_[], x2))
new_lt19(x0, x1, ty_@0)
new_compare13(Integer(x0), Integer(x1))
new_esEs21(Left(x0), Left(x1), ty_Char, x2)
new_lt22(x0, x1, app(app(ty_@2, x2), x3))
new_compare1([], :(x0, x1), x2)
new_lt6(x0, x1, ty_Float)
new_esEs35(x0, x1, ty_Ordering)
new_esEs28(x0, x1, ty_Char)
new_esEs18(EQ, LT)
new_esEs18(LT, EQ)
new_ltEs7(Left(x0), Left(x1), ty_Char, x2)
new_esEs34(x0, x1, app(app(ty_@2, x2), x3))
new_esEs25(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs29(x0, x1, ty_Int)
new_esEs21(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs13(Just(x0), Just(x1), ty_@0)
new_esEs19(Just(x0), Just(x1), ty_Integer)
new_esEs6(x0, x1, ty_Char)
new_esEs19(Just(x0), Just(x1), ty_Double)
new_primEqNat0(Zero, Succ(x0))
new_compare30(x0, x1, ty_Bool)
new_esEs19(Just(x0), Just(x1), ty_Int)
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_esEs35(x0, x1, app(ty_[], x2))
new_esEs17(Integer(x0), Integer(x1))
new_lt23(x0, x1, ty_@0)
new_esEs7(x0, x1, app(ty_[], x2))
new_ltEs4(x0, x1, ty_Float)
new_esEs33(x0, x1, ty_Int)
new_esEs35(x0, x1, ty_Bool)
new_compare1(:(x0, x1), :(x2, x3), x4)
new_lt23(x0, x1, ty_Ordering)
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_ltEs22(x0, x1, ty_Integer)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_ltEs24(x0, x1, app(ty_Maybe, x2))
new_compare6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs38(x0, x1, ty_Int)
new_ltEs14(x0, x1)
new_ltEs4(x0, x1, ty_Char)
new_esEs36(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_Ordering)
new_esEs27(False, False)
new_esEs35(x0, x1, ty_Float)
new_ltEs13(Nothing, Just(x0), x1)
new_esEs28(x0, x1, ty_Ordering)
new_compare12(x0, x1)
new_esEs33(x0, x1, app(ty_[], x2))
new_esEs6(x0, x1, ty_Double)
new_compare28(x0, x1, True, x2)
new_ltEs13(Just(x0), Just(x1), ty_Bool)
new_esEs6(x0, x1, ty_Int)
new_compare33(GT, GT)
new_lt19(x0, x1, ty_Integer)
new_ltEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs21(Right(x0), Right(x1), x2, ty_Float)
new_esEs36(x0, x1, ty_Bool)
new_lt21(x0, x1, ty_Char)
new_esEs21(Left(x0), Left(x1), ty_Double, x2)
new_ltEs22(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs22(x0, x1, ty_Bool)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_ltEs7(Left(x0), Right(x1), x2, x3)
new_ltEs7(Right(x0), Left(x1), x2, x3)
new_esEs30(x0, x1, ty_Ordering)
new_not(True)
new_esEs36(x0, x1, app(app(ty_Either, x2), x3))
new_esEs33(x0, x1, app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, ty_Bool)
new_primPlusNat0(Succ(x0), Succ(x1))
new_esEs11(x0, x1, ty_Double)
new_lt6(x0, x1, ty_Ordering)
new_esEs22(Double(x0, x1), Double(x2, x3))
new_ltEs16(EQ, GT)
new_ltEs16(GT, EQ)
new_esEs39(x0, x1, ty_Integer)
new_lt22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs21(x0, x1, ty_Ordering)
new_esEs35(x0, x1, ty_Double)
new_esEs5(x0, x1, ty_Bool)
new_ltEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs19(x0, x1, ty_@0)
new_ltEs19(x0, x1, ty_Int)
new_primCompAux0(x0, EQ)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs23(x0, x1, app(ty_Ratio, x2))
new_compare26(x0, x1, True, x2, x3)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(x0, x1, ty_Float)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_not(False)
new_esEs9(x0, x1, ty_@0)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs23(x0, x1, ty_@0)
new_esEs6(x0, x1, ty_@0)
new_compare32(Just(x0), Nothing, x1)
new_lt20(x0, x1, ty_Bool)
new_ltEs16(EQ, LT)
new_ltEs16(LT, EQ)
new_esEs9(x0, x1, ty_Integer)
new_compare26(x0, x1, False, x2, x3)
new_compare30(x0, x1, app(ty_Maybe, x2))
new_pePe(True, x0)
new_ltEs5(x0, x1)
new_esEs4(x0, x1, app(ty_[], x2))
new_esEs33(x0, x1, ty_Ordering)
new_compare33(GT, LT)
new_compare33(LT, GT)
new_esEs30(x0, x1, ty_Char)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, ty_@0)
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_esEs4(x0, x1, ty_@0)
new_esEs38(x0, x1, ty_Bool)
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs23(x0, x1, ty_Ordering)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_compare30(x0, x1, ty_Double)
new_primPlusNat1(Zero, x0)
new_esEs9(x0, x1, ty_Bool)
new_esEs19(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs4(x0, x1, ty_@0)
new_esEs5(x0, x1, app(ty_Ratio, x2))
new_ltEs13(Just(x0), Just(x1), ty_Ordering)
new_esEs8(x0, x1, app(ty_[], x2))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, app(ty_Ratio, x2))
new_compare33(EQ, EQ)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_ltEs21(x0, x1, ty_Double)
new_esEs4(x0, x1, ty_Float)
new_esEs8(x0, x1, ty_Double)
new_esEs32(x0, x1, ty_Integer)
new_esEs10(x0, x1, ty_Integer)
new_ltEs7(Left(x0), Left(x1), ty_Double, x2)
new_esEs29(x0, x1, ty_Double)
new_compare17(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_ltEs17(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs28(x0, x1, ty_@0)
new_compare32(Nothing, Just(x0), x1)
new_esEs31(x0, x1, ty_@0)
new_esEs26(:(x0, x1), :(x2, x3), x4)
new_esEs4(x0, x1, app(ty_Maybe, x2))
new_ltEs13(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare18(Float(x0, x1), Float(x2, x3))
new_esEs18(GT, LT)
new_esEs18(LT, GT)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_compare31(Left(x0), Left(x1), x2, x3)
new_lt12(x0, x1, x2)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs34(x0, x1, ty_Double)
new_esEs27(False, True)
new_esEs27(True, False)
new_esEs10(x0, x1, ty_Float)
new_compare30(x0, x1, ty_Ordering)
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs22(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Double)
new_ltEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs38(x0, x1, app(ty_Ratio, x2))
new_lt23(x0, x1, ty_Integer)
new_esEs21(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare30(x0, x1, ty_@0)
new_esEs11(x0, x1, ty_Integer)
new_ltEs20(x0, x1, ty_@0)
new_esEs36(x0, x1, ty_@0)
new_compare30(x0, x1, ty_Integer)
new_esEs36(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt19(x0, x1, ty_Ordering)
new_ltEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs28(x0, x1, ty_Int)
new_esEs35(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(Right(x0), Right(x1), x2, ty_@0)
new_esEs35(x0, x1, ty_@0)
new_esEs31(x0, x1, ty_Int)
new_esEs8(x0, x1, ty_Char)
new_ltEs24(x0, x1, ty_Bool)
new_esEs35(x0, x1, app(ty_Maybe, x2))
new_compare9(Double(x0, x1), Double(x2, x3))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_lt19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Bool)
new_ltEs7(Left(x0), Left(x1), ty_Int, x2)
new_primCompAux1(x0, x1, x2, x3)
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_esEs39(x0, x1, ty_Double)
new_esEs19(Nothing, Nothing, x0)
new_esEs10(x0, x1, ty_@0)
new_esEs32(x0, x1, app(ty_[], x2))
new_ltEs13(Just(x0), Just(x1), ty_Double)
new_ltEs21(x0, x1, ty_@0)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs33(x0, x1, app(ty_Maybe, x2))
new_esEs21(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs21(Right(x0), Right(x1), x2, ty_Integer)
new_esEs8(x0, x1, ty_Ordering)
new_esEs21(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs6(x0, x1, ty_Ordering)
new_esEs39(x0, x1, app(ty_Ratio, x2))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs: